水仙花数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.“水仙花数”是指这样的数,其各位数字的立方和等于该数本身.编写程序求100至999的范围内有多少个水仙花数

#include

main()

{

int dig,k,m,s,count;

count=0;

for(k=100;k<=999;k++)

{

dig=0;

s=0;

dig=k/100;

s=s+dig*dig*dig;

m=k%100;

while(m!=0)

{

dig=m%10;

s=s+dig*dig*dig;

dig=m/10;

s=s+dig*dig*dig;

m=0;

}

if(s==k)

{

count++;

}

}

printf("%d\n",count);

}

2.(x,y,z)满足方程:x^2+y^2+z^2=55^2(注:要求x>y>z);则(x,y,z)称为方程的一个解.试求方程的整数解(包括负整数解)的个数.

#include

main()

{

int x,y,z,s,n=0;

for(x=-55;x<=55;x++)

for(y=-55;y

for(z=-55;z

{

s=x*x+y*y+z*z;

if(s==3025)

n++;

}

printf("%d\n",n);

}

3.”水仙花数”是指这样的数,其各自数字的立方和等于该数本身.编写程序求100至400的范围内有多少的水仙花数. #include

main()

{

int dig,k,m,s,count;

count=0;

for(k=100;k<=400;k++)

{

dig=0;

s=0;

dig=k/100;

s=s+dig*dig*dig;

m=k%100;

while(m!=0)

{

dig=m%10;

s=s+dig*dig*dig;

dig=m/10;

s=s+dig*dig*dig;

m=0;

}

if(s==k)

{

count++;

}

}

printf("%d\n",count); }

4.50元的整币兑换成5元,2元,1元币值(三种币值均有,缺少一种或两种都计算在内)的方法有多少种.

#include

main()

{

int a,b,c,s,count=0;

for(a=0;a<=10;a++)

for(b=0;b<=25;b++)

for(c=0;c<=50;c++)

{

s=5*a+2*b+c;

if(s==50)

count++;

}

printf("%d\n",count);

}

5.A,B,C是三个小于或等于100正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数.求130B>C的倒勾股数有多少组.

#include

main()

{

int A,B,C,n=0;

for(A=1;A<=100;A++)

for(B=1;B

for(C=1;C<=B;C++)

{

if((A+B+C)>130&&(A+B+C)<150&&(1.0/(A*A)+1.0/(B* B)==1.0/(C*C)))

n++;

}

printf("%d\n",n);

}

6.爱婴斯坦走台阶:有一台阶,如果每次走二阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶; 如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?

#include

main()

{

long int x;

for(x=0;x<=10000000;x++)

{

if(x%2==1&&x%3==2&&x%4==3&&x%5==4&&x%6 ==5&&x%7==0)

break;

}

printf("%ld\n",x);

}

7.编程求[120,140]之间的弦数的个数(若某正整数的平方等于另两个正整数平方值和,则称该数是弦数.例如3^2+4^2=5^2,因此5是弦数).

#include

main()

{

int i,j,k,s,count=0;

for(k=121;k<=140;k++)

for(i=1;i<140;i++)

for(j=1;j<=i;j++)

{

s=i*i+j*j;

if(s==k*k)

{

printf("%d ",k);

count++;

}

}

printf("[121,140]之间的弦数个数是:%d\n",count);

}

8.编写程序,计算1000以内有多少个这样的数,其十位为6且能被8整除.

#include

main()

{

int a,b,c,i;

int count=0;

for(i=10;i<1000;i++)

{

a=i%100;

b=a/10;

c=i%8;

if(b==6&&c==0)

count++;

相关文档
最新文档