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