nyoj841最高位数字
生活随笔
收集整理的這篇文章主要介紹了
nyoj841最高位数字
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接:http://115.159.40.116/problem_show.php?pid=5409
http://acm.nyist.net/JudgeOnline/problem.php?pid=841
每組數(shù)據(jù)輸入一個正整數(shù)N(N≤1,000,000,000)。
http://acm.nyist.net/JudgeOnline/problem.php?pid=841
題目描述
求N^N的個位數(shù)字大家應(yīng)該都會了,可是,N^N的最高位數(shù)字你會求嗎?輸入
多組測試數(shù)據(jù)。每組數(shù)據(jù)輸入一個正整數(shù)N(N≤1,000,000,000)。
輸出
對于每組數(shù)據(jù),輸出N^N的最高位數(shù)字。樣例輸入
3 4樣例輸出
2 2AC代碼:
/*先計算log10(m^m),即ans=m*log10(m), 把a(bǔ)ns分為小數(shù)部分與整數(shù)部分, 然后pow(10,ans)=pow(10,整數(shù)部分)*pow(10,小數(shù)部分) 而10^整數(shù)時,其最高位一定為1, 所以求出pow(10,小數(shù)部分)的最高位即可 */ #include <stdio.h> #include <math.h> int main() {double m, interger;while(~scanf("%lf", &m)) {//modf()將一個小數(shù)的整數(shù)部分與小數(shù)部分分離,返回值是小數(shù),得到的整數(shù)會存入第二個參數(shù)m = modf(m*log10(m), &interger);// @ m = pow(10,m);modf(m, &interger);//可能會有疑問,你就知道m(xù)一定>1? 就這么直接輸出?//因為方程y=10^m必定過(0,1),m>0時y一定大于1,顯然@處的m>0 printf("%d\n", (int)interger);}return 0; }總結(jié)
以上是生活随笔為你收集整理的nyoj841最高位数字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贝壳找房技术总监肖鹏:高速成长下的技术团
- 下一篇: nyoj1170最大的数