题目

给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2)。例如N = 15,可以写为1 + 2 + 3 + 4 + 5,也可以写为4 + 5 + 6,或7 + 8。如果不能写为若干个连续整数的和,则输出No Solution。

输入

输入1个数N(3 <= N <= 10^9)。

输出

输出连续整数中的第1个数,如果有多个按照递增序排列,如果不能分解为若干个连续整数的和,则输出No Solution。

输入样例

15

输出样例

1
4
7

思路:

设若干连续数字和的首项为 a,则有:a+(a+1)+(a+2)+...+(a+k)=n,共有 k 项

即:

化简有:

由于 a 最小为 1,那么当 a=1 时有:

因此,

故而从 开始枚举到 3,当 i 满足  时,输出  即可

源程序

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 50000+5;
const int dx[] = {-1,1,0,0};
const int dy[] = {0,0,-1,1};
using namespace std;int main() {int n;scanf("%d",&n);int flag=false;for(int i=sqrt(2.0*n);i>=2;i--){if((n-i*(i-1)/2)%i==0){printf("%d\n",(n-i*(i-1)/2)/i);flag=true;}}if(!flag)printf("No Solution\n");return 0;
}

连续整数的和(51Nod-1138)相关推荐

  1. 51nod 1138 连续整数的和(数学公式)

    1138 连续整数的和 #include <iostream> #include <cmath> #include <cstdio> using namespace ...

  2. 51NOD 1138 连续整数的和

    点击打开链接 给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2). 例如N = 15,可以写为1 + 2 + 3 + 4 + 5,也可以写为4 + 5 + 6,或7 + 8. 如 ...

  3. 51nod 1617 奇偶数组

    传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...

  4. 51NOD 1773:A国的贸易——题解

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1773 参考1:FWT讲解 https://www.cnblogs.com ...

  5. C语言接收一个整数划分成5的倍数,整数划分为连续整数;整数划分

    参考博客:http://www.cnblogs.com/nokiaguy/archive/2008/05/11/1192308.html 1.整数划分为连续整数: 如将15划分为连续整数之和: 15 ...

  6. 51nod 1040:最大公约数之和(数论)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1040 给出一个n,求1-n这n个数,同n的最大公约数的和. ...

  7. 1138: 零起点学算法45——求最大值

    1138: 零起点学算法45--求最大值 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 1691  ...

  8. (DP)51NOD 1183 编辑距离

    编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除 ...

  9. 斜率小于0的连线数量 51Nod - 1107 (树状数组+离散化)

    二维平面上N个点之间共有C(n,2)条连线.求这C(n,2)条线中斜率小于0的线的数量. 二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y).例如:(2,3) (3,4) (1,5) (4, ...

  10. 51Nod 1003 阶乘后面0的数量(数学,思维题)

    1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720 ...

最新文章

  1. 安全狗深圳主题沙龙会:企业如何打造云安全堡垒
  2. AWS上的实例无法ping通的解决方案
  3. 修改jceks.key.serialFilter解决KMS重启后Can‘t recover key for testkey from keystore file
  4. “心脏出血”后,OpenSSL 起死回生靠什么?
  5. PyTorch学习—23.PyTorch的基本使用
  6. 如何在Mac上创建和使用符号链接?
  7. 三角形状的点阵模糊效果iOS源码
  8. 5、Python-函数
  9. 运用HTML5进行文字排版详解
  10. php easyui filebox,filebox(文件框)
  11. SPR:SUPERVISED PERSONALIZED RANKING BASED ON PRIOR KNOWLEDGE FOR RECOMMENDATION
  12. 国内外最顶级的12大看板工具
  13. 战疫内外,京东智联云如此“一鸣惊人”!
  14. XCTF-PWN welpwn
  15. 【深度学习】步态识别-论文阅读:(T-PAMI-2021)综述:Deep Gait Recognition
  16. 这几天,聊到的最多的就是互通有无
  17. “将‘const NSString *‘发送到‘NSString *‘类型的参数会丢弃限定符”警告
  18. 谷歌收购摩托罗拉乱弹
  19. 经历考研失败后如何找到心仪的工作
  20. CFA一级学习笔记--权益(六)--权益类证券概述

热门文章

  1. 分布式SOA基础架构崭露头角
  2. 本周计划(4月12日-19日)
  3. 手把手教你用Python读取Excel
  4. 有关分库分表你想知道的,都在这儿了
  5. 面试官:你给我画一下秒杀系统的架构图!
  6. 一本关于HTTP的恋爱日记
  7. 一致性哈希的分析与实现
  8. 求老板放过!我Java8还没用呢,Java14又来了...
  9. 【H5营销活动】近期捷微H5营销活动大盘点
  10. cmake打包ICONV库