#include #include#include
using
namespace
std;
#define max 100010
int rm[max]; //
定義整型陣列,來記錄對應與下標相等的餘數是否出現(-1表示未出現,其它表示已出現過)
char buf[max]; //
定義字元陣列
char dev[max]; //
定義字元陣列,存小數部分
int counter; //
初始化為0
int main(void
)
if(rm[m] != -1) //
rm[m]不等於-1時,即餘數m已經出現過一次了
rm[m] =i;
m *= 10; //
每次餘數乘10為下一次除法做準備
dev[counter++] = m / n + '
0'; //
對應整除部分並轉換為對應的字元
m = m % n; //
m存餘數
}
for(i = 0; i76) //
buf中的每76個字元作為一行輸出
memset(rm, -1, sizeof(rm)); //
將rm的全部陣列元素都設定成-1
memset(buf, '
\0', sizeof(buf)); //
將buf的全部陣列元素都設定成空字元
memset(dev, '
\0', sizeof(dev)); //
將rm的全部陣列元素都設定成空字元
counter=0; //
重新賦值為0
cin>>m>>n; //
重新輸入分子和分母
方法(2)
#include#include#include
int flag[100002],ans[100010
];int
main()
if(num==1)printf("0"
);
for(i=1;i)
printf("%d
",ans[i]);
len++;
}if(n)printf(")"
); printf("\n
");return0;
}
分數化小數
兩個整數相除,將結果用字串返回。如果是迴圈小數,將迴圈的位用括號括起來。函式原型為 void div const int a,const int b,char str 輸入 1 3 輸出 0.3 整數相除.cpp include includeusing namespace std const in...
分數化小數
進入研一以來,折騰了一整個學期,既沒好好學習,也沒有別的收穫,前途規劃更是白紙一張。在科大還有3個多月的時間,索性就逼迫自己下,把之前欠下的東西都補上,也不枉來這一年。最近開始重新學習演算法,主要有 演算法競賽入門經典 演算法競賽訓練指南 演算法導論 三本書,注重圖論部分和coding能力,但時間上...
分數化小數
描述 輸入正整數a,b,c,輸出a b的小數形式,精確到小數點後c位 注意最後一位的四捨五入問題 2 a,b,c 1000。注意本題小數保留範圍 輸入第1行是乙個整數n,表示隨後有n組資料。每組資料佔一行,輸入正整數a,b,c 2 a,b,c 1000 用空格隔開。輸出對每組資料,計算並輸出a b的...