熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

求兩整數相除的精確值

2022-06-13   來源: 數據結構 

題目(斯倫貝謝 slb 校園招聘試題)
給定兩個整數M和N滿足 < M < N < 現在要求求出來M/N的精確值也就是說如果能夠整除那麼需要得到結果如果不能整除那麼要求是得到小數點後面到第一個循環節結束的地方 並且指出循環節從小數點後第幾位開始小數點後第幾位結束

答案

初始化
index =
A[i] = ; //(i=&#;)
B[i] = ; //(i=&#;)
int begin = ;
int end = ;

然後
while(M != ) {
if(B[M] != ) {
begin = B[M];
end = index;
break;
}
B[M] = index;
A[index] = M*/N;
M = M* % N;
index++;
}

然後輸出結果就OK了

舉個例子/
編號 余數 當前位
(初始個位數是後面開始小數點之後的)
/ = ; % = 此時B[]= A[]=
(B[]= A[]=
(B[]= A[]=
(B[]= A[]=
(B[]= A[]=
(到這兒循環結束因為在編號為的那一行出現了當前B[]=而不是這時候begin= end=循環節的長度是)


From:http://tw.wingwit.com/Article/program/sjjg/201405/30737.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.