要求编制1个程序完成输入1个正整数,求该正整数的所有连续正整数和等于该整数的序列。
要求编制1个程序完成输入1个正整数,求该正整数的所有连续正整数和等于该整数的序列。如输入整数为27,其连续整数和序列为:2~7,8~10,13和14,27共4种序列。输出...
要求编制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)输出该整数的所有整数和序列。 展开
2个回答
展开全部
#include <stdio.h>
#include <math.h>
void main(){
int i,j=0,m,k,a[100];
scanf("%d",&m);
for(i=(int)sqrt(m*2.0);i>=1;i--)
if((m-i*(i-1)/2)%i==0)
{a[j]=i;j++;}
printf("整数%d有%d种连续整数序列\n整数%d的连续整数序列为:",m,j,m);
for(i=0;i<j;i++)
{
for(k=(m-a[i]*(a[i]-1)/2)/a[i];k<=(m+a[i]*(a[i]-1)/2)/a[i];k++)
printf("%d+",k);
printf("\b;");
}
printf("\b \b");
}
展开全部
JAVA
public static void main(String[] args) {
find(27);
System.out.println("--end--");
}
public static void find(int num) {
if (num <= 0) {
return;
}
int start = 1;
int end = 2;
int count = (num + 1) / 2;
int sum = 1;
while (start <= count) {
if (sum == num) {
System.out.println(num + " = " + start + " +...+ " + (end - 1));
sum -= start;
start++;
} else if (sum < num) {
sum += end;
end++;
} else {
sum -= start;
start++;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询