您的位置:首页 > 其它

2643: Recurring Decimals

2010-04-11 16:15 141 查看
2643: Recurring Decimals

校赛第一轮一道没有做出来的题目,现在看了别人的思路,那个悲剧啊,这道题要我们求所有6位循环小数

稍微思考,得出从1/999999开始,接着一步步往上推,这种数学思想还是要细密才行啊

 

#include<stdio.h>
int gcd(int a,int b)
{
    int t;
    while(a)
    {
       t=b%a;
       b=a;
       a=t;
    }
    return b;
}

bool judge(int n)
{
    int a,b,c,d,e,f;
    a=n/1000;b=n%1000;
    if(a==b) return  false;
    a=n/10000;b=(n/100)%100;c=n%100;
    if(a==b&&b==c)  return false;
    a=n/100000;b=(n/10000)%10;c=(n/1000)%10;
    d=(n/100)%10;e=(n/10)%10;f=n%10;
    if(a==b&&b==c&&c==d&&d==e&&e==f)    return false;
    return true;
}

int main()
{
    //freopen("out.txt","w",stdout);
    for(int i=1;i<999999;i++)
    {
       if(judge(i))
       {
          int d=gcd(i,999999);
          printf("%d/%d/n",i/d,999999/d);
       }
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c