用c语言for循环找100到1000以内的水仙花数
时间: 2023-05-11 12:07:04 浏览: 116
以下是用 C 语言 for 循环找 100 到 1000 以内的水仙花数的代码:
#include <stdio.h>
int main() {
int i, j, k, num;
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 >= 100 && num <= 1000 && num == i * i * i + j * j * j + k * k * k) {
printf("%d\n", num);
}
}
}
}
return 0;
}
相关问题
用c语言循环语句求1000以内水仙花数之和
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
用C语言求1000以内所有水仙花数之和,可以使用嵌套循环来遍历每个三位数,并检查是否为水仙花数。以下是简单的步骤:
```c
#include <stdio.h>
int is_armstrong_number(int num) {
int sum = 0, original_num, remainder;
// 将数字分解成每一位
original_num = num;
while (original_num > 0) {
remainder = original_num % 10; // 取最后一位
sum += remainder * remainder * remainder; // 立方并累加
original_num /= 10; // 移除最后一位
}
// 检查是否是水仙花数
return sum == num;
}
int main() {
int total_sum = 0;
for (int i = 100; i <= 999; i++) { // 遍历100到999
if (is_armstrong_number(i)) {
total_sum += i; // 如果是水仙花数,加入总和
}
}
printf("1000以内所有水仙花数的和是:%d\n", total_sum);
return 0;
}
```
用C语言找出1000以内的水仙花数
水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153就是一个水仙花数,因为1的3次方+5的3次方+3的3次方=153。
可以使用以下代码来找出1000以内的水仙花数:
```c
#include <stdio.h>
int main()
{
int i, j, k, num;
for(i = 1; i < 10; i++)
{
for(j = 0; j < 10; j++)
{
for(k = 0; k < 10; k++)
{
num = i * 100 + j * 10 + k;
if(num == i*i*i + j*j*j + k*k*k)
{
printf("%d ", num);
}
}
}
}
return 0;
}
```
这段代码使用三层循环,枚举所有的三位数。对于每个三位数,判断它是否是水仙花数,如果是就输出。最终输出的结果为153、370、371和407。
阅读全文