C语言与水仙花数
水仙花数:前提三位数,“个位数的立方”加上“十位数的立方”加上“百位数的立方”恰好等于这个数。
我们来用C语言书写水仙花数:
方法一
#include <stdio.h> #include <stdlib.h> int main() { int i,j,k; for(i = 1;i<=9;i++){ //三位数的百位 for(j = 0;j<=9;j++){ //三位数的十位 for(k = 0;k<=9;k++){ //三位数的个位 if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%d ",i*100+j*10+k); } } } system("pause"); return 0; }
主要的思路:
既然这个数是三位数,可以先将100到999的所有的数得到,然后再做if判断。
方法二
#include <stdio.h> #include <stdlib.h> int main() { int x,a,b,c; for(x=100;x<=999;x++){ a=x/100; //百位 b=x/10%10;//十位 c=x%10; //个位 if(x==a*a*a+b*b*b+c*c*c) printf("%d ",x); } system("pause"); return 0; }
这里主要是遍历所有的三位数,然后通过特定的方式得到三位数字,最后判断。
时间: 2024-10-15 06:32:43