求a[上界]到b[下界]之间同构数的个数
作者:Lynn 日期:2008-02-15
#include "stdio.h"
#include "math.h"
int check(int i);
int geting(int j);
int puting(int k);
void main()//主函数,求a[上界]到b[下界]之间同构数的个数,及所有同构数之和!
{
printf("现在我们开始算吧!\n");
int i,k,num,a,b;
long sum;
num=0;
sum=0;
printf("请输入你要搜索范围的上界a和下界b!\n");
printf("a:\t");
scanf("%d",&a);
printf("b:\t");
scanf("%d",&b);
for(i=a;i<=b;i++)
{
k=check(i);
if(k==1)
{
printf("%d\n",i);
num++;
sum=sum+i;
}
}
printf("2到100之间有:\t %d 个完数!\n",num);
printf("所有完数的和为:\t %d \n",sum);
void getch();
}
int check(int i)//测试一个数是否为同构数
{
int j,k,l,n,m,pp;
j=0;
n=0;
l=i*i;
k=geting(i);
while(k>0)
{
pp=l%10;
m=puting(n);
j=j+pp*m;
n++;
k--;
l=int(l/10);
}
if(j==i)
{
return 1;
}
else
{
return 0;
}
}
int geting(int j)//测试一个数为多个位
{
int i;
i=0;
while(j>=1)
{
j=j/10;
i++;
}
return i;
}
int puting(int k)//计算10的k次方,加一参数可以求x的y次方
//也可以用 double pow(double x,double y); 这样的一个函数!
//不过要加入一个头文件,我以加了。就是#include "math.h"
{
int sum;
int i;
sum=1;
for(i=0;i<k;i++)
{
sum=sum*10;
}
return sum;
}
#include "math.h"
int check(int i);
int geting(int j);
int puting(int k);
void main()//主函数,求a[上界]到b[下界]之间同构数的个数,及所有同构数之和!
{
printf("现在我们开始算吧!\n");
int i,k,num,a,b;
long sum;
num=0;
sum=0;
printf("请输入你要搜索范围的上界a和下界b!\n");
printf("a:\t");
scanf("%d",&a);
printf("b:\t");
scanf("%d",&b);
for(i=a;i<=b;i++)
{
k=check(i);
if(k==1)
{
printf("%d\n",i);
num++;
sum=sum+i;
}
}
printf("2到100之间有:\t %d 个完数!\n",num);
printf("所有完数的和为:\t %d \n",sum);
void getch();
}
int check(int i)//测试一个数是否为同构数
{
int j,k,l,n,m,pp;
j=0;
n=0;
l=i*i;
k=geting(i);
while(k>0)
{
pp=l%10;
m=puting(n);
j=j+pp*m;
n++;
k--;
l=int(l/10);
}
if(j==i)
{
return 1;
}
else
{
return 0;
}
}
int geting(int j)//测试一个数为多个位
{
int i;
i=0;
while(j>=1)
{
j=j/10;
i++;
}
return i;
}
int puting(int k)//计算10的k次方,加一参数可以求x的y次方
//也可以用 double pow(double x,double y); 这样的一个函数!
//不过要加入一个头文件,我以加了。就是#include "math.h"
{
int sum;
int i;
sum=1;
for(i=0;i<k;i++)
{
sum=sum*10;
}
return sum;
}
[本日志由 Lynn 于 2008-02-22 08:55 AM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 求a[上界]到b[下界]之间同构数的个数 3L 3lshow 伴湖居者 3Lshow IT设计 平江人的博客
文章来自: 本站原创
Tags: 求a[上界]到b[下界]之间同构数的个数 3L 3lshow 伴湖居者 3Lshow IT设计 平江人的博客 评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇
