Description
78这个数可以表示为连续正整数的和,1+2+3+…+12,18+19+20+21,25+26+27。
Input
输入一个正整数 n(<=10000)
Output
输出 m 行(n有m种表示法),每行是两个正整数a,b,表示a+(a+1)+…+b=n。
对于多种表示法,a小的方案先输出。
Sample Input 1
78
Sample Output 1
1 12
18 21
25 27
Hint
HINT:时间限制:1.0s 内存限制:256.0MB
直接枚举吧,不想别的了
#include<stdio.h>
int main()
{
int i,sum,x,j,n;
scanf("%d",&n);
for(i=1;i<n;i++)
{
sum=0; //每次都初始化sum的值
x=i; //记住每次最开始的值
j=i; //从i开始计算
while(sum<n)
{
sum+=j;
j++;
}
if(sum==n)
{
printf("%d %d\n",x,j-1);
}
}
return 0;
}
本文探讨了如何将数字78表示为连续正整数之和的方法,通过枚举策略找到所有可能的组合,如1到12、18到21以及25到27的和等于78。提供了C语言实现的代码示例。
474

被折叠的 条评论
为什么被折叠?



