日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

uva 10515——Powers Et Al.

發布時間:2023/11/30 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uva 10515——Powers Et Al. 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:這個題目題中的圖片已經給的夠清楚了,就算不怎么讀題,也能yy大概的意思,況且題目也很短,很容易都出來就是給定 a,b,然后求a^b的個位數!

思路:開始想到了同余模,可是沒有往深處想,發現只用同余模和快速冪是無法解決的,一是因為數太大,二是算出來的數也無法保存,胡思亂想想到用double,什么long? double都搞出來了,不過越搞越復雜,反而陷入思維深淵!后來想到底數要保留到最后一位,但是不知道怎么使指數降下來,后來看了題解,才明白個位數的指數次都是以1,2,4,作為循環,這就好辦了,直接%4,就能對指數精簡化了!后面至于用快速冪,打表,或者pow已經不是重點了,因為都能算出來了!

code:
#include <iostream> #include <cstdio> #include <cmath> #include <string> #include <cstring> #include <algorithm> using namespace std;int cal(string n) //化指數為2位數 {if (n.size()==1) return n[0]-'0';int t=n[n.size()-1]-'0';t=t+(n[n.size()-2]-'0')*10;t%=4;if (t==0) t=4;return t; } int sol(int a,int b) //一位數的2位數次冪,也可pow,快速冪,打表 {int t=1;for (int i=0;i<b;i++)t*=a,t%=10;t%=10;return t; } int main() {string m,n;while (cin>>m>>n){if (m=="0"&&n=="0") break;int a=m[m.size()-1]-'0'; //只取末尾一位int b=cal(n);printf("%d\n",sol(a,b));} }

總結

以上是生活随笔為你收集整理的uva 10515——Powers Et Al.的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。