求助,数据太大了
  • 板块灌水区
  • 楼主J_GXM
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/7/24 10:58
  • 上次更新2024/7/24 11:49:49
查看原帖
求助,数据太大了
1210323
J_GXM楼主2024/7/24 10:58

题目描述

自从泽泽参加了围棋班和编程班以后,不仅思维非常敏捷,而且有些难懂的数学问题他都能轻松解答,他爱上了数学。老师为了锻炼他,让他的思维能有突飞猛进的进步,给了他这样一题数学题:给你一个正整数N,请你找出N是由哪些若干个(两个或多个)连续的正整数的和得到。

输入

第一行输入一个正整数N。

输出

输出至少有一个答案,每个答案一行,每行输出这个答案中的第一个加数和最后一个加数。如果有多个答案,这些答案必须按第一个加数从小到大进行排列。(注:两个加数之间只有一个空格)

样例输入 1

6

样例输出 1

1 3

样例输入 2

27

样例输出 2

2 7

8 10

13 14

【数据范围约定】

对于60%的数据保证3≤N ≤1000000

对于80%的数据保证3≤N ≤100000000

对于100%的数据保证3≤N≤10000000000

因为原题链接需要密码,所以我只能这样

#include<bits/stdc++.h>
using namespace std;
long long n,ans;
int main()
{
	cin>>n;
	for(long long i=1;i<=n/2+1;i++){
		long long sum=i;
		for(long long j=i+1;j<=n/2+1;j++){
			if(sum+j>n)break;
			sum+=j;
			if(sum==n)cout<<i<<" "<<j<<endl;
		}
	}
    return 0;
}

帮帮孩子吧!

2024/7/24 10:58
加载中...