您的位置:首页 > 其它

USTC机试-将正整数分解成尽可能多的连续整数之和

2018-02-20 14:55 357 查看
代码如下:
#include<stdio.h>
#define N 100
int main(){
int n;
int j;
printf("请输入您的整数:");
scanf("%d",&n);
for(int i=1;i<=n/2;i++){
//连续整数超过n/2的和就超出n了
for(int k=1;;k++){
int sum=k*(2*i+k-1)/2;
if(sum>n) break;
if(sum==n){
for(j=0;j<k;j++)
printf("%d ",j+i);
printf("\n");
}

}//一趟循环结束确定最大

}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: