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

全部评论

相关推荐

2025-12-19 19:02
西安交通大学 Java
程序员牛肉:双九,而且还是西交这种比较好的985九没必要再投日常了。你投中小厂,人家会觉得你学历这么顶还面试肯定是海投的,过了你也不去。所以不约你了。 直接准备暑期实习就好,现在你可以面试。但是目的不再是去日常实习了,而是熟悉面试节奏。 后续把精力放到八股,算法和AI知识上。抽空把自己这两个项目换了,怎么选项目可以看看我主页写的文章。 你学历不错的,不要焦虑
那些拿到大厂offer的...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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