noj一道简单的数学题
生活随笔
收集整理的這篇文章主要介紹了
noj一道简单的数学题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天我突然找到一種讓自己提高成就感的學習方法,就是把自己喜歡的算法專題和自己不會的算法專題一起學習,然后我選擇了kmp和數論一起,看到這到簡單的數學題時第一個想法就是根據奧數小數規則來做
一個最簡分數化為小數有三種情況:
(1)如果分母只含有質因數2和5,那么這個分數一定能化成有限小數,并且小數部分的位數等于分母中質因數2與5中個數較多的那個數的個數;(2)如果分母中只含有2與5以外的質因數,那么這個分數一定能化成純循環小數;
(3)如果分母中既含有質因數2或5又含有以外的質因數,那么這個分數一定能化成混循環小數,并且不循環部分的位數等于分母中質因數2與5中個數較多的那個數的個數。
http://wenku.baidu.com/view/a115698dcc22bcd127ff0c04.html
點擊打開鏈接
http://wenku.baidu.com/view/53a96582d4d8d15abe234eab.html
但是由于在這道題里數不是很大,所以我們可以直接根據我們平常算小數的方法來做這道題
點擊打開鏈接
#include<stdio.h> #include<string.h> #include<math.h> int ok[100010]; int main() {int t,n;scanf("%d",&t);while(t--){int temp=1;scanf("%d",&n);if(n<0){ n=-n;printf("-0.");}elseprintf("0.");memset(ok,0,sizeof(ok));while(ok[temp]!=1&&temp!=0) //當它在出現的時候證明有開始重新循環了,如果它所得余數是0的話就是已經除盡了{ok[temp]=1;temp*=10;printf("%d",temp/n);temp%=n;}printf("\n");}return 0; }
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的noj一道简单的数学题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今天又看到的Acm指南
- 下一篇: 康托展开式---我排第几+逆康托展开