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

全部评论

相关推荐

真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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