UVA202 循环小数 Repeating Decimals
输入整数aa 和bb (0≤aa ≤3000,1≤bb ≤3000),输出a/b的循环小数表示以及循环节的长度。例如aa =5,bb =43 小数表示为0.(116279069767441860465),循环节长度为21。 补充: 如果循环节超过50位,就在第50位后打省略号(三个点,就像“…”)
题目的“循环节超过50位”,其实是指超过了小数点后的50位,包括非循环计算在内。
输出格式也很大坑,WA很多次。
#include<iostream>
#include<cstring>
using namespace std;
char fra[1000]; //储存小数位
int ans[3005]={
0}; //标记余数出现在小数点后的第几位
int a,b,k,n,real,tmp; //k表示余数,n表示每一次相除的商,real为结果的整数部分,tmp储存a用于最后输出
int