hdu 6182A Math Problem2017ACMICPC广西邀请赛

xiaoxiao2021-02-28  124

A Math Problem

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 318    Accepted Submission(s): 152 Problem Description You are given a positive integer n, please count how many positive integers k satisfy  kkn .   Input There are no more than 50 test cases. Each case only contains a positivse integer n in a line. 1n1018   Output For each test case, output an integer indicates the number of positive integers k satisfy  kkn  in a line.   Sample Input 1 4   Sample Output 1 2   Source 2017ACM/ICPC广西邀请赛-重现赛(感谢广西大学)   Recommend liuyiding   |   We have carefully selected several similar problems for you:   6193  6192  6191  6190  6189    Statistic |  Submit |  Discuss |  Note

最多15,直接打表就行

需要注意的是15^15

pow(15,15)=437893890380859392

pow(15,7)*pow(15,8)=437893890380859375

坑啊

#include <iostream> #include <algorithm> #include <cstdio> #include <cmath> #include <cstring> #include <string> #include <string.h> #include <map> #include <set> #include <queue> #include <deque> #include <list> #include <bitset> #include <stack> #include <stdlib.h> #define lowbit(x) (x&-x) #define e exp(1.0) #define eps 1e-8 //ios::sync_with_stdio(false); // auto start = clock(); // cout << (clock() - start) / (double)CLOCKS_PER_SEC<<endl; typedef long long ll; typedef long long LL; using namespace std; typedef unsigned long long ull; ll a[20]={1,4,27,256,3125,46656,823543,16777216,387420489,10000000000,285311670611,8916100448256,302875106592253,11112006825558016,437893890380859375}; int main() { //cout<<(ll)pow(15,15)<<endl; //cout<<(ll)pow(15,7)*(ll)pow(15,8); ll n; //for(int i=1;i<16;i++) //cout<<','<<(ll)pow(i,i); while(cin>>n) { int ans=0; for(int i=0;i<15;i++) { if(n<a[i]) break; ans++; } cout<<ans<<endl; } return 0; }

转载请注明原文地址: https://www.6miu.com/read-66916.html

最新回复(0)