您的位置:首页 > 其它

51nod 1138 连续整数的和(等差数列)

2016-10-31 19:30 225 查看
51nod 1138 连续整数的和(等差数列)

还记得等差数列的求和公式吗?

n*a1 + n*(n-1)/2 * d = N

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <iostream>
using namespace std;

int main()
{
int n;
scanf("%d",&n);
n = 2*n;
int f = 0;
for(int i = sqrt(n); i >= 2; i--)
{
if(n % i == 0)
{
if((n/i-i+1)%2 == 0)
{
f = 1;
printf("%d\n",(n/i-i+1)/2);
}
}
}
if(!f) printf("No Solution\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: