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