pta求100至999,之间的水仙花数之和运用for循环来求,程序填空题
时间: 2023-12-20 22:01:30 浏览: 185
题目中所提到的水仙花数是指一个三位数,其个位、十位、百位数字的立方和等于该数本身。要求通过for循环来求出100至999之间的水仙花数之和。
```python
# 初始化水仙花数之和
sum_of_daffodils = 0
# 循环遍历100至999之间的所有数
for num in range(100, 1000):
# 拆分出个位、十位、百位数字
hundred = num // 100
ten = (num % 100) // 10
one = num % 10
# 计算立方和
cube_sum = pow(hundred, 3) + pow(ten, 3) + pow(one, 3)
# 判断是否为水仙花数
if cube_sum == num:
# 如果是水仙花数,则加到总和中
sum_of_daffodils += num
# 输出水仙花数之和
print("100至999之间的水仙花数之和为:", sum_of_daffodils)
```
通过以上的程序填空题所编写的代码,可以求出100至999之间的水仙花数之和。首先初始化水仙花数之和为0,然后通过for循环遍历100至999之间的所有数,将每个数拆分出个位、十位、百位数字,计算出其立方和,判断是否为水仙花数,如果是则加到总和中。最后输出水仙花数之和。
相关问题
pta+水仙花数填空
PTA是中国大学生程序设计竞赛的缩写,是由教育部高等学校计算机类专业教学指导委员会、教育部职业教育教学指导委员会、中国计算机学会和清华大学共同主办的全国性赛事。而水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。在PTA上,有一道关于水仙花数的填空题目,需要编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。
pta水仙花数c语言程序
可以这样写:
#include <stdio.h>
#include <math.h>
int main()
{
int num, hundreds, tens, units, sum;
for (num = 100; num <= 999; num++)
{
hundreds = num / 100;
tens = num % 100 / 10;
units = num % 10;
sum = pow(hundreds, 3) + pow(tens, 3) + pow(units, 3);
if (sum == num)
printf("%d ", num);
}
return 0;
}
这个程序实现了输出所有的“水仙花数”,即一个三位数各个位上的数字立方和等于该数本身。
阅读全文