写一段代码输出1000以内的阿姆斯特朗数
时间: 2024-02-13 11:04:14 浏览: 85
当然可以,以下是 Python 代码实现:
```python
for num in range(1, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
输出结果为:
```
1
153
370
371
407
```
以上就是输出1000以内的阿姆斯特朗数的 Python 代码实现。
相关问题
用C语言编译出1000以内三位数的阿姆斯特朗数
以下是用C语言编写的程序,可以输出1000以内的三位数阿姆斯特朗数:
```
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0, result = 0;
for(num = 100; num <= 999; num++)
{
originalNum = num;
while(originalNum != 0)
{
originalNum /= 10;
++n;
}
originalNum = num;
while(originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if(result == num)
{
printf("%d ", num);
}
n = 0;
result = 0;
}
return 0;
}
```
与上一个程序不同的是,这个程序遍历的数只有三位数,因此将遍历的范围限定在100到999之间即可。
用C语言编译出1000以内的阿姆斯特朗数
以下是用C语言编写的程序,可以输出1000以内的阿姆斯特朗数:
```
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0, result = 0;
for(num = 1; num <= 1000; num++)
{
originalNum = num;
while(originalNum != 0)
{
originalNum /= 10;
++n;
}
originalNum = num;
while(originalNum != 0)
{
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if(result == num)
{
printf("%d ", num);
}
n = 0;
result = 0;
}
return 0;
}
```
程序的思路是:依次遍历1到1000之间的数,分别计算每个数的位数和每个位上数字的n次方之和,如果等于该数本身,则该数是阿姆斯特朗数,将其输出。
阅读全文