Project Euler Problem 99 Largest exponential
2017-03-23 21:11
483 查看
Largest exponential
Problem 99
Comparing two numbers written in index form like 211 and 37 is not difficult, as any calculator would confirm that 211 = 2048 < 37 = 2187.
However, confirming that 632382518061 > 519432525806 would be much more difficult, as both numbers contain over three million digits.
Using
base_exp.txt (right click and 'Save Link/Target As...'), a 22K text file containing one thousand lines with a base/exponent pair on each line, determine which line number has the greatest numerical value.
NOTE: The first two lines in the file represent the numbers in the example given above.
C++:
#include <iostream>
#include <cmath>
#include <string>
#include <fstream>
using namespace std;
int main()
{
long b, e, max, temp;
int ans=0, no=0;
string filename;
cin >> filename;
ifstream inf(filename, ios::in);
char c;
while(inf >> b >> c >> e) {
no++;
temp = (long) (e * log(b));
if(temp > max) {
max = temp;
ans = no;
}
}
cout << ans << endl;
inf.close();
return 0;
}
Problem 99
Comparing two numbers written in index form like 211 and 37 is not difficult, as any calculator would confirm that 211 = 2048 < 37 = 2187.
However, confirming that 632382518061 > 519432525806 would be much more difficult, as both numbers contain over three million digits.
Using
base_exp.txt (right click and 'Save Link/Target As...'), a 22K text file containing one thousand lines with a base/exponent pair on each line, determine which line number has the greatest numerical value.
NOTE: The first two lines in the file represent the numbers in the example given above.
C++:
#include <iostream>
#include <cmath>
#include <string>
#include <fstream>
using namespace std;
int main()
{
long b, e, max, temp;
int ans=0, no=0;
string filename;
cin >> filename;
ifstream inf(filename, ios::in);
char c;
while(inf >> b >> c >> e) {
no++;
temp = (long) (e * log(b));
if(temp > max) {
max = temp;
ans = no;
}
}
cout << ans << endl;
inf.close();
return 0;
}
相关文章推荐
- http://projecteuler.net/problem=5 [Answer:232792560]
- http://projecteuler.net/problem=14 [Answer:837799]
- http://projecteuler.net/problem=32 [Answer:45228]
- Project Euler problem 61
- Project Euler problem 65
- project euler problem 16:2^1000结果各位数求和
- Project euler problem 21找合适的一对数之总和
- Project Euler Problem 47
- Project Euler problem 15
- Project Euler problem 37
- Project Euler problem 47
- Project Euler Problem 51-70
- Project Euler Problem 32
- http://projecteuler.net/problem=6 [Answer:25164150]
- http://projecteuler.net/problem=15 [Answer:137846528820]
- http://projecteuler.net/problem=34 [Answer:40730]
- Project euler problem 21 - 30
- Project Euler problem 62
- project euler problem 13:Large sum
- Matlab 编程 Project Euler Problem 20 Factorial digit sum