這道題的后三位直接快速冪即可,但是輸出需要處理一下,不夠的補0即可。前三位我們可以利用log10 n運算,我們就可以得到一個數,那么很明顯這個數整數部分是科學計數法中10的倍數,小數部分就是對應的數值了,對應乘100正好可以得到三位數。
#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define LL long longconst LL mod = 1000LL;LL quick_pow(LL a, LL b){ //快速冪 LL ret = 1; a %= mod; while(b){ if(b&1) ret = (ret*a)%mod; b >>= 1; a = (a*a)%mod; } return ret;}//fmod(x, 1); 表示取x的小數位int main(){ int T; scanf("%d", &T); for(int kase = 1; kase <= T; kase++){ LL n, k; scanf("%lld %lld", &n, &k);新聞熱點
疑難解答