长春网站制作套餐,莆田seo外包公司,wordpress 目录 伪静态,微信在线登录平台所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数#xff0c;它的每个位上的数字的立方和等于它本身。例如#xff0c;153是一个水仙花数#xff0c;因为1^3 5^3 3^3 153。 方法一
#define _CRT_SECURE_NO_WARNINGS 1#include std… 所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数它的每个位上的数字的立方和等于它本身。例如153是一个水仙花数因为1^3 5^3 3^3 153。 方法一
#define _CRT_SECURE_NO_WARNINGS 1#include stdio.h
int main()
{int i, j, k, num;// 循环遍历所有的3位数for (i 1; i 9; i) {for (j 0; j 9; j) {for (k 0; k 9; k) {num i * 100 j * 10 k;// 判断是否为水仙花数并打印if (num i*i*i j*j*j k*k*k) {printf(%d\n, num);}}}}return 0;
} 这个程序通过三个嵌套的循环遍历所有的3位数并检查它们是否满足水仙花数的条件。如果一个数满足条件它就会被打印出来。 方法二
#include stdio.hint main() {int num, digit, sum;printf(水仙花数\n);for (num 100; num 999; num) {sum 0;int temp num;while (temp ! 0) {digit temp % 10;sum digit * digit * digit;temp / 10;}if (sum num) {printf(%d , num);}}printf(\n);return 0;
}方法三
#include stdio.hint main() {int i, j, k, n;printf(水仙花数\n);for (n 100; n 999; n) {i n / 100; // 百位数j n / 10 % 10; // 十位数k n % 10; // 个位数if (n i * i * i j * j * j k * k * k) {printf(%d , n);}}return 0;
}方法四
#include stdio.h
#include math.hint main()
{int a, b, c, n;n 100;printf(水仙花数:\n);while (n 1000){a n % 10; // 取个位数b n / 10 % 10; // 取十位数c n / 100; // 取百位数if (n pow(a, 3) pow(b, 3) pow(c, 3)) // 判断是否为水仙花数{printf(%d , n); // 输出水仙花数}n;}return 0;
}
方法五函数
#include stdio.hint isWaterfallNumber(int num)
{int digit1 num / 100; // 获取百位数字int digit2 (num % 100) / 10; // 获取十位数字int digit3 num % 10; // 获取个位数字// 判断各位数字的立方和是否等于该数本身if(digit1 * digit1 * digit1 digit2 * digit2 * digit2 digit3 * digit3 * digit3 num) {return 1; // 是水仙花数} else {return 0; // 不是水仙花数}
}void printWaterfallNumbers()
{int num;printf(水仙花数);for(num 100; num 999; num) {if(isWaterfallNumber(num)) {printf(%d , num);}}
}int main()
{printWaterfallNumbers();return 0;
}