Project Euler problem 53
2012-11-06 21:42
381 查看
就是一个组合数而已
硬求就行。
硬求就行。
#include <iostream> #include <cstdio> #include <cstring> #include <ctime> #include <cstdlib> #include <algorithm> #include <stack> #include <cmath> #include <set> #include <vector> #define eps 1e-6 #define INF 1000000007 #define PI acos(-1.0) using namespace std; __int64 C(__int64 M, __int64 N) { __int64 m = M - N; __int64 ans = 1; for(__int64 i = M; i >= m + 1; i--) { __int64 tmp = __gcd(i, M - i + 1); ans /= (M - i + 1) / tmp; ans *= i / tmp; } return ans; } int main() { int sum = 0; for(int i = 1; i <= 100; i++) for(int j = 1; j <= i; j++) { if(C(i, j) > 1000000) { sum += i + 1 - 2 * j; break; } } cout << sum << endl; return 0; }
相关文章推荐
- project euler Problem 53
- project euler Problem 53
- project euler Problem 56
- http://projecteuler.net/problem=20 [Answer:648]
- Project Euler Problem 10: Summation of primes
- Matlab 编程 Project Euler Problem 21 Amicable numbers
- project euler problem 10:Summation of primes
- project euler problem 35求一个数的所有循环数都是素数的总共有多少个
- projecteuler problem 15 solution
- project euler problem 22对文件的处理
- Project Euler Problem 14
- Project Euler Problem 17
- Project Euler problem 6
- Project Euler problem 16
- Project Euler problem 26 分数化小数
- Project Euler problem 48 处理乘法取模爆long long的方法
- Project Euler Problem 66
- Project Euler Problem 21
- Project Euler Problem 23
- http://projecteuler.net/problem=21 [Answer:31626]