51nod 1138 连续整数的和
来源:互联网 发布:java web有什么好书 编辑:程序博客网 时间:2024/06/05 11:10
给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2)。例如N = 15,可以写为1 + 2 + 3 + 4 + 5,也可以写为4 + 5 + 6,或7 + 8。如果不能写为若干个连续整数的和,则输出No Solution。
Input
输入1个数N(3 <= N <= 10^9)。
Output
输出连续整数中的第1个数,如果有多个按照递增序排列,如果不能分解为若干个连续整数的和,则输出No Solution。
Input示例
15
Output示例
147
就可以遍历x,因为从1开始加的话x是最多的,令a=1可以推出x的范围。
代码如下:
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>using namespace std;#define N 10010int a[N];int main(){ int i,j,n,m; scanf("%d",&n); int cnt=0; for(i=2;i<=2*sqrt(2*n);i++){ int x=(i-i*i+2*n)/(2*i); if(x<=0) break; if(i*i+(2*x-1)*i-2*n==0) a[++cnt]=x; } if(cnt==0) printf("No Solution\n"); else { sort(a+1,a+1+cnt); for(i=1;i<=cnt;i++) cout<<a[i]<<endl; } return 0;}
0 0
- 51nod--1138 . 连续整数的和
- 51nod 1138 连续整数的和
- 51nod 1138 连续整数的和
- 51nod 1138 连续整数的和
- 51nod 1138 连续整数的和
- 51Nod 1138 连续整数的和
- 【51Nod】1138 连续整数的和
- 51nod 1138 连续整数的和
- 51NOD 1138 连续整数的和
- 51Nod 1138 连续整数的和
- 551nod-【1138 连续整数的和】
- 51nod 1138 连续整数的和(数学)
- 51Nod 1138 连续整数的和(数学、规律)
- 51 NOD 1138 连续整数的和(简单数学公式)
- 51Nod-1138-连续整数的和
- 51nod 1138 连续整数的和(等差数列)
- 51nod 1138 连续整数的和(数学)
- 51nod 1138 连续整数的和(数学)
- MYSQL2字段属性
- spoj DQUERY - D-query(区间不同数的个数 主席树 or BIT)
- Java抽象类和接口
- jvm面试题(六)
- 贪吃蛇的Java实现
- 51nod 1138 连续整数的和
- hdu 2059 龟兔赛跑
- Java修饰符
- 简单理解单例模式
- Java枚举
- V1.0.0 Python可以做什么
- 35 个快速学习编程的好去处
- mysql MYISAM INNODB 引擎比较
- RecyclerView的使用