生成C语言代码:输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算: 输入 2 个正整数m 和n(1<=m,n<=1000),输出m 到n 之间的所有满足各位数字的立方和等于它本身的数。要求输出结果用换行符隔开。 样例输入 2 100 400 1 100 样例输出 153 370 371 1
时间: 2024-03-23 16:36:28 浏览: 8
以下是生成所需C语言代码的代码:
```python
repeat = int(input("请输入repeat的值(0<repeat<10): "))
code = ""
# 生成repeat次循环
for i in range(1, repeat+1):
m, n = input(f"请输入第{i}组数据的m和n值(1<=m<=n<=1000,用空格隔开): ").split()
code += f"\n// 第{i}组数据\n"
code += f"for(int i={m}; i<={n}; i++) {{\n"
code += f" int num = i;\n"
code += f" int sum = 0;\n"
code += f" while(num != 0) {{\n"
code += f" int digit = num % 10;\n"
code += f" sum += digit * digit * digit;\n"
code += f" num /= 10;\n"
code += f" }}\n"
code += f" if(sum == i) {{\n"
code += f" printf(\"%d\\n\", i);\n"
code += f" }}\n"
code += f"}}\n"
print("以下是生成的C语言代码:")
print(code)
```
输入样例:
```
请输入repeat的值(0<repeat<10): 2
请输入第1组数据的m和n值(1<=m<=n<=1000,用空格隔开): 100 400
请输入第2组数据的m和n值(1<=m<=n<=1000,用空格隔开): 1 100
```
输出样例:
```
以下是生成的C语言代码:
// 第1组数据
for(int i=100; i<=400; i++) {
int num = i;
int sum = 0;
while(num != 0) {
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if(sum == i) {
printf("%d\n", i);
}
}
// 第2组数据
for(int i=1; i<=100; i++) {
int num = i;
int sum = 0;
while(num != 0) {
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if(sum == i) {
printf("%d\n", i);
}
}
```