回顾习题6(11-09-30)

来源:互联网 发布:终南山 知乎 编辑:程序博客网 时间:2024/06/05 13:31
  

Q:现在十阶阶梯,一次可以走1阶或2阶,问:走完这十阶阶梯共有多少种方法?(是否需要递归函数?)

 

在3位的正整数中,比如abc,有一些可以满足a3+b3+c3=abc的条件,也就是说,各个位数的立方和正好是该数本身,这些数就叫做Armstong数。

Arm1.c

#include <stdio.h>
int main ()
{
        int a,b,c,number,count=0;
        for (number=100;number<=999;number++)
        {
                a=(number/100)%10;
                b=(number/10)%10;
                c=number%10;
                if (number==a*a*a+b*b*b+c*c*c)
                        printf ("%3d %4d\n",++count,number);
        }
}

Arm2.c

#include <stdio.h>
int main ()
{
        int a100,b10,a,b,c,a3,b3,c3,number,sum,count=0;
        for (a100=100,a=1;a<=9;a++,a100+=100)
        {
                a3=a*a*a;
                for (b10=b=0;b<=9;b++,b10+=10)
                {
                        b3=b*b*b;
                        for (c=0;c<=9;c++)
                        {
                                c3=c*c*c;
                                number=a100+b10+c;
                                sum=a3+b3+c3;
                                if (number==sum)
                                        printf("%3d %4d\n",++count,number);
                        }
                }
        }
}

原创粉丝点击