首页 > 代码库 > 【模拟】10216 - 分数化小数

【模拟】10216 - 分数化小数

【模拟】10216 - 分数化小数

Time Limit: 1000MS
Memory Limit: 25600KB

                                                30分骗分算法

                                                

# include<cmath># include<stdio.h># include<stack># include<iostream># include<algorithm>using namespace std;stack<int>S;const int maxn=10000;int num[maxn];int A,B,a,m,tot,ok=1,cur;int main(){    scanf("%d%d",&A,&B);    if(A%B==0){printf("%d.0",A/B);return 0;}    if(A>B){printf("%d.",A/B);A=A%B;ok=0;}    a=A;    for(int i=1;i<=maxn;i++){        a=a*10;        tot++;        num[i]=a/B;        a=a%B;        if(a==0)break;    }    if(tot<maxn){if(ok)printf("0.");for(int i=1;i<=tot;i++)printf("%d",num[i]);return 0;}    int q=1;int t=num[1];for(int i=1;i<=maxn;i++)if(num[i]!=t){q=0;break;}    if(q){if(ok)printf("0.");printf("(%d)",num[1]);return 0;}        return 0;}

这题很水就是看你想不想得到模拟小数点时

Mod到相同的余数那么与之前余数相同的之间的数十循环的

TMD小学数学老师死的早

 

 

 

【模拟】10216 - 分数化小数