/* ** The 5-digit number, 16807=7^5, is also a fifth power. ** Similarly, the 9-digit number, 134217728=8^9, is a ninth power. ** How many n-digit positive integers exist which are also an nth power? */ #include <iostream> #include <cmath> using namespace std; bool getpower(long double num, long double exp) { long double tmp = powl(10.0f, exp-1); long double ret = num / tmp; if (ret>=1.0 && ret<10.0) return true; else return false; } int main() { int base = 0; //底数 int exp = 0; //指数 int cnt = 0; for(exp; exp<100; ++exp) { for (base = 1; base<10; ++base) { long double ret = powl(base, exp); if(getpower(ret, exp)) { cnt++; //cout << base << "^" << exp << " = " << ret << endl; } } } cout << cnt << '/n'; return 0; }