FJNU.1757
Description
找i个连续自然数累加为N
Input
整数N
Output
N=i个连续自然数累加和式。多解时每个式子占一行,按i从大到小的顺序输出
Sample Input
15
Sample Output
15=1+2+3+4+5
15=4+5+6
15=7+8
My Program
#include
<
stdio.h
>
void print( int x, int i, int j)
... {
int k;
printf("%d=",x);
for(k=i;k<j;k++)
...{
printf("%d",k);
if(k<j-1) printf("+");
}
}
int main()
... {
int x,i,j,n=0;
scanf("%d",&x);
for(i=1;i<x;i++)
...{
n=0;
for(j=i;j<x;j++)
if(n<x) n+=j;
else if(n==x) ...{print(x,i,j);printf(" ");break;}
else if(n>x) break;
}
return 0;
}
void print( int x, int i, int j)
... {
int k;
printf("%d=",x);
for(k=i;k<j;k++)
...{
printf("%d",k);
if(k<j-1) printf("+");
}
}
int main()
... {
int x,i,j,n=0;
scanf("%d",&x);
for(i=1;i<x;i++)
...{
n=0;
for(j=i;j<x;j++)
if(n<x) n+=j;
else if(n==x) ...{print(x,i,j);printf(" ");break;}
else if(n>x) break;
}
return 0;
}
YOYO's Note:
大一时用C写的题,超白痴的方法:
直接用了个循环累加看,加到相等的时候就输出,
如果超过了就从下一个数开始重新找……