#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
const int N = 100;
double dLogValue[N*N];
int count = 0;
for ( int a = 2; a <= N; ++a )
{
double d = log( static_cast<double>(a) );
double x = d;
for ( int b = 2; b <= N; ++b )
{
x += d;
dLogValue[count++] = x;
}
}
sort( dLogValue, dLogValue+count );
const double epsilon = 1e-12;
int result = 1;
for ( int i = 1; i < count; ++i )
{
if ( dLogValue[i] - dLogValue[i-1] > epsilon )
{
result++;
}
}
cout << result << endl;
return 0;
}
http://projecteuler.net/problem=29 [Answer:9183]
最新推荐文章于 2023-11-15 12:12:51 发布