51Nod-1138-连续整数的和
来源:互联网 发布:编程游戏 编辑:程序博客网 时间:2024/05/29 04:48
ACM模版
描述
题解
利用等差数列公式推导即可,设首项为i,项数为j,则可得到(2N-j*j+j)/(2*j)=i
,
这里枚举项数j即可,因为项数j最多可以为sqrt(2N)
,故A之……
另外强调的是,注意输出的格式,因为我一开始输出的是i没有格式化,所以WA了一半数据。
代码
#include <iostream>#include <cmath>typedef long long ll;using namespace std;int main(int argc, const char * argv[]){ int N; while (cin >> N) { bool flag = true; // 设首项为i,项数为j,则(2*i+j-1)*j/2=n // (2*i+j-1)*j=2n // (2n-j*j+j)/(2*j)=i ll N_ = 2 * N; int MAX_J = (int)sqrt(N_); for (int j = MAX_J; j >= 2; j--) { double i = (N_ - j * j + j) * 1.0 / (2 * j); if (i == (int)i) { flag = false; printf("%d\n", (int)i); } } if (flag) { cout << "No Solution\n"; } } return 0;}
0 0
- 51Nod-1138-连续整数的和
- 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 连续整数的和(数学)
- <LeetCode> 题202:线段树的查询
- js基于cookie实现多域名单点登陆
- 1006. 换个格式输出整数 (15)
- java 数据库缓存实例
- Jenkins安装与配置
- 51Nod-1138-连续整数的和
- 二维码的生成与解析
- <LeetCode> 题247:线段树的查询(2)
- z最短路合集(贝尔曼福德算法+迪杰斯克拉算法+弗洛伊德算法)
- nagios下用grafana绘图(二)
- 利用Office 365 定制企业合同管理平台之测试系统完整性!
- mysql保存数据提示:Out of range value for column
- 985的红绿灯难题
- 1896: 985的买饮料难题