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

代码如下:

#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;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:02
ssob上原来真有BOSS啊
硫蛋蛋:这种也是打工的,只不是是给写字楼房东打工
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:27
明天又是董事长面,啥时候是个头啊
在太阳里长大的人:公司就仨人吧😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务