題目描述
樂樂是乙個聰明而又勤奮好學的孩子。他總喜歡探求事物的規律。一天,他突然對數的正整數次冪產生了興趣。
眾所周知,2的正整數次冪最後一位數總是不斷的在重複2,4,8,6,2,4,8,6……我們說2的正整數次冪最後一位的迴圈長度是4(實際上4的倍數都可以說是迴圈長度,但我們只考慮最小的迴圈長度)。類似的,其餘的數字的正整數次冪最後一位數也有類似的迴圈現象:
迴圈 迴圈長度
2 2、4、8、6
3 3、9、7、1
4 4、6 2
5 5 1
6 6 1
7 7、9、3、1
8 8、4、2、6
9 9、1 2
這時樂樂的問題就出來了:是不是只有最後一位才有這樣的迴圈呢?對於乙個整數n的正整數次冪來說,它的後k位是否會發生迴圈?如果迴圈的話,迴圈長度是多少呢?
注意:1. 如果n的某個正整數次冪的位數不足k,那麼不足的高位看做是0。
2. 如果迴圈長度是l,那麼說明對於任意的正整數a,n的a次冪和a + l次冪的最後k位都相同。
輸入輸出格式
輸入格式:
輸入檔案circle.in只有一行,包含兩個整數n(1 <= n < 10^100)和k(1 <= k <= 100),n和k之間用乙個空格隔開,表示要求n的正整數次冪的最後k位的迴圈長度。
輸出格式:
輸出檔案circle.out包括一行,這一行只包含乙個整數,表示迴圈長度。如果迴圈不存在,輸出-1。
輸入輸出樣例
輸入樣例#1:
32 2
輸出樣例#1:
4 說明
對於30%的資料,k <= 4;
對於全部的資料,k <= 100。
noip2005普及組第四題
30分,取後4位數。
//如何去判斷是否時候迴圈節?陣列儲存?
#include
#include
#include
using
namespace
std;
int n,k,q;
int a[10000000];
//int quick(int x,int m)//快速冪到多大?
//// tmp*=tmp;
// m>>=1;
// }
// return ans;
//}int main()
} cout
<<-1
0;}
迴圈(NOIP2005普及組第四題)
迴圈 circle.pas circle.in circle.out noip2005普及組t4 lyoi20090321資訊學綜合模擬problem2 樣例輸入 32 2 樣例輸出 4 資料規模 對於30 的資料,k 4 對於全部的資料,k 100 思路 這個題我之前是在oj上做過的,也知道這是n...
NOIP2005 普及組複賽 第三題 採藥
題目描述description 辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你...
NOIP2005普及組第1題 陶陶摘蘋果
題目描述 陶陶家的院子裡有一棵蘋果樹,每到秋天樹上就會結出10個蘋果。蘋果成熟的時候,陶陶就會跑去摘蘋果。陶陶有個30厘公尺高的板凳,當她不能直接用手摘到蘋果的時候,就會踩到板凳上再試試。現在已知10個蘋果到地面的高度,以及陶陶把手伸直的時候能夠達到的最大高度,請幫陶陶算一下她能夠摘到的蘋果的數目。...