HDU2522迴圈小數

2021-10-06 02:55:05 字數 648 閱讀 1222

problem description

zty很痴迷數學問題.。一天,yifenfei出了個數學題想難倒他,讓他回答1 / n。但zty卻回答不了^_^. 請大家程式設計幫助他.

input

第一行整數t,表示測試組數。後面t行,每行乙個整數 n (1<=|n|<=10^5).

output

輸出1/n. (是迴圈小數的,只輸出第乙個迴圈節).

sample input

4 2 3 7 168

sample output

0.5 0.3

0.142857

0.005952380

思路:就是模擬除法的過程,只要除法中的除數之前用過,那就是重複的迴圈結了,用個標記陣列記錄即可。如果有限小數,除到餘數為0結束就好。

注意點:有可能n是負數。

#include#include#include#includeusing namespace std;

#define n 100005

int hash[n];

void div(int n)

if(n==1)

cout<<1

}return 0;

}

習題3 8 迴圈小數

我是利用比較字串相等找出迴圈字長的,記憶體消耗大,時間複雜度高,原諒我是數學渣渣。ps 建議利用餘數相等找迴圈字長,有時間再更!include includeusing namespace std int arr 1005 int main while a b continue else if j ...

3 求迴圈小數

對於任意的真分數 n m 0 n m 均可以求出對應的小數。如果採用鍊錶表示各個小數,對於迴圈節採用迴圈鍊錶表示,則所有分數均可以表示為如下鍊錶形式。輸入 n m 輸出 轉換後的小數 不超過 50 要求 僅編寫將分數轉換為小數的函式 change int n,int m,node head 前置 v...

迴圈小數轉化為分數

眾所周知迴圈小數是可以轉化為分數的。把迴圈小數轉化為分數一般用極限的方法,比如0.33333.可以看成是0.3 0.03 0.003 這個等比數列的值,然後求等比數列的和,設有n個數,則根據等比數列公式得和為0.3 1 0.1 n 1 0.1 化簡得 1 0.1 n 3,n為無限多個,n趨於無窮大時...