要求编制1个程序完成输入1个正整数,求该正整数的所有连续正整数和等于该整数的序,在线等!急!
用C语言,要求编制1个程序完成输入1个正整数,求该正整数的所有连续正整数和等于该整数的序列。如输入整数为27,其连续整数和序列为:2~7,8~10,13和14,27共4种...
用C语言,要求编制1个程序完成输入1个正整数,求该正整数的所有连续正整数和等于该整数的序列。
如输入整数为27,其连续整数和序列为:2~7,8~10,13和14,27共4种序列。输出: 1)整数27有4种连续整数序列;2)整数27的连续整数序列为:2+3+4+5+6+7;8+9+10;13+14; 27
输出内容包括:1)所输入的整数其整数序列和数量。2)输出该整数的所有整数和序列。 展开
如输入整数为27,其连续整数和序列为:2~7,8~10,13和14,27共4种序列。输出: 1)整数27有4种连续整数序列;2)整数27的连续整数序列为:2+3+4+5+6+7;8+9+10;13+14; 27
输出内容包括:1)所输入的整数其整数序列和数量。2)输出该整数的所有整数和序列。 展开
展开全部
#include <stdio.h>
int seq(int start, int end, int n, int &len) {
int i, sum = 0;
for (i=start;i<=end;i++) {
sum += i;
if (sum == n) {
len = (i-start+1);
return 1;
}
if (sum>n) break; //加快速度
}
return 0;
}
int main() {
int n, i, j, len;
int a[200][2], index=0;
printf("Input n:");
scanf("%d", &n);
for (i=1;i<=n;i++) {
if (seq(i, n, n, len)) {
a[index][0] = i;
a[index++][1] = i+len;
}
}
printf("整数%d有%d种连续整数序列\n", n, index);
printf("整数%d的连续整数序列为:\n", n);
for (i=0;i<index;i++) {
for (j=a[i][0];j<a[i][1]-1;j++) {
printf("%d+",j);
}
printf("%d\n", j);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询