用c语言写 :在3位数中找到第一个满足下列要求的正整数n,其各位数字的立方和恰好等于它 本身。例如,371=33+73+13。
时间: 2023-05-29 18:06:08 浏览: 173
#include <stdio.h>
int main() {
int n, i, j, k;
for (n = 100; n < 1000; n++) {
i = n / 100; // 百位数
j = n % 100 / 10; // 十位数
k = n % 10; // 个位数
if (n == i*i*i + j*j*j + k*k*k) {
printf("%d\n", n);
break;
}
}
return 0;
}
相关问题
在3位数中找到第一个满足下列要求的正整数n,其各位数字的立方和恰好等于它本身用简单的C语言语句
好的,我来给你提供一段简单的C语言代码,用于找到满足各位数字立方和等于自身的3位数:
```c
#include <stdio.h>
int main() {
int n, digit, sum;
for (n = 100; n <= 999; n++) {
sum = 0;
int temp = n;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == n) {
printf("%d\n", n);
break;
}
}
return 0;
}
```
这段代码跟我之前提供的Python代码非常相似,使用了一个for循环来遍历所有的3位数,然后计算每个数的各位数字的立方和,最后判断是否等于该数本身。需要注意的是,C语言中的取余和整除操作符分别为%和/。
用c语言编程在了位数中找到第一个满足下列要求的正整数 n,其各位数字的立方和恰好等于它 本身。例如,371=3三次方+7三次方+1的三次方
好的,这是一个比较有趣的问题。我们可以使用循环来从1开始枚举每一个正整数,然后计算其各位数字的立方和是否等于它本身,找到第一个满足要求的数即可。
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n, num, digit, sum;
for(n = 1; n <= 999; n++) {
num = n;
sum = 0;
while(num > 0) {
digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if(sum == n) {
printf("%d\n", n);
break;
}
}
return 0;
}
```
代码中,我们用变量 `n` 来表示要枚举的正整数,从1到999进行枚举;用变量 `num` 来表示当前正在计算的数,用变量 `digit` 来表示 `num` 的个位数,用变量 `sum` 来表示各位数字的立方和。
在循环中,我们首先将 `num` 赋值为 `n`,然后使用一个 `while` 循环来不断将 `num` 的各位数字的立方加入到 `sum` 中,直到 `num` 变为0为止。最后,如果 `sum` 等于 `n`,就说明 `n` 满足要求,我们输出 `n` 并结束循环。
注意,我们在循环中使用了 `break` 语句来提前结束循环,因为只需要找到第一个满足要求的数即可。