Scientific Problem
Time Limit:500MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
Description
Once upon a time Professor Idioticideasinventor was travelling by train. Watching cheerless landscape outside the window, he decided to invent the theme of his new scientific work. All of a sudden a brilliant idea struck him: to develop an effective algorithm finding an integer number, which is x times less than the sum of all its integer positive predecessors, where number x is given. As far as he has no computer in the train, you have to solve this difficult problem.
Input
The first line of the input file contains an integer number
x (1 ≤
x ≤ 10
9).
Output
Output an integer number — the answer to the problem.
Sample Input
sample input | sample output |
1 | 3 |
sample input | sample output |
2 | 5 |
设答案为n,则nx < 1 +2 +3 + ... + n - 1 ,得到 n > 2x,所以n = 2x +1
AC CODE
//Memory: 935 KB Time: 31 MS
//Language: GNU CPP (MinGW, GCC 4) Result: Accepted
#include <iostream>
#include <string>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#define LL long long
#define MAXI 2147483647
#define MAXL 9223372036854775807
#define eps (1e-8)
#define dg(i) cout << "*" << i << endl;
using namespace std;
int main()
{
LL x;
while(scanf("%I64d", &x) != EOF)
{
printf("%I64d\n", 2 * x + 1);
}
return 0;
}
本文介绍了一种算法,用于寻找一个整数n,该整数是给定整数x倍小于所有正整数前驱之和的解决方案。通过数学推导得出n大于2x,并给出了具体的实现代码。

被折叠的 条评论
为什么被折叠?



