用if while语句编写:输入正整数n,然后求 1*2+2*3+3*4+...+n*(n+1)。输出数据时不控制列宽。例如输入19则应输出2660 注意:语言选DEV C++。
时间: 2023-05-30 14:03:34 浏览: 168
```c
#include <stdio.h>
int main() {
int n, i = 1;
long long result = 1; // 防止乘积过大溢出,用long long类型存储
printf("请输入一个正整数:");
scanf("%d", &n);
while (i < n) {
result *= i * (i + 1);
i++;
}
printf("%d的乘积为%lld", n, result);
return 0;
}
```
相关问题
用if while语句编写: 输入一批正整数,用-1作终止标记,求其中能被3或7整除的数之和。输出数据不控制列宽。例如输入 5 1 3 7 8 6 21 -1 则应输出 37 注意:语言选DEV C++。
```c
#include <stdio.h>
int main() {
int num, sum = 0;
printf("请输入一批正整数,以-1作为终止标记:\n");
scanf("%d", &num);
while (num != -1) {
if (num % 3 == 0 || num % 7 == 0) {
sum += num;
}
scanf("%d", &num);
}
printf("能被3或7整除的数之和为:%d\n", sum);
return 0;
}
```
输入两个正整数 m 和 n(1<=m, n<=1000),输出 m 到 n之间的所有满足各位数字的立方和等于它本身的数。 例如153的各位数字的立方和是 13+53+33=153。 输出使用语句:printf("%d\n", i); 输入输出示例:括号内为说明 输入: 2 (repeat=2) 100 400 (m=100, n=400) 1 100 (m=1, n=100) 输出: result: 153 (1*1*1+5*5*5+3*3*
好的,我可以帮你解决这个问题。以下是使用C++编写的代码示例:
```c++
#include <iostream>
using namespace std;
int main() {
int m, n, digit, sum;
cout << "请输入两个正整数 m 和 n(1<=m, n<=1000): ";
cin >> m >> n;
cout << "result: " << endl;
for (int i = m; i <= n; i++) {
digit = i;
sum = 0;
while (digit != 0) {
int d = digit % 10;
sum += d * d * d;
digit /= 10;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
```
在这个代码示例中,我们使用一个for循环遍历m到n之间的所有数。对于每个数,我们使用一个while循环计算它各位数字的立方和,然后将它与原数比较。如果它们相等,则输出这个数。
希望这个示例可以帮助你解决问题!
阅读全文