注册 登录
编程论坛 C++教室

一、除法

Julien 发布于 2015-03-25 13:23, 397 次点击
#include <iostream>
using namespace std;
int a,b,c,d,e,n;
int i1,i2;
int data[10],j,s;
int check();
int main() {
    cin>>n;
    for(a=1;a<10;a++)
    for(b=0;b<10;b++)
    for(c=0;c<10;c++)
    for(d=0;d<10;d++)
    for(e=0;e<10;e++) {
        i1=10000*a+1000*b+100*c+10*d+e;
        data[e]=0;
        if(i1%n==0) {
            i2=i1/n;
            if(i2>1233 && i2<10000 && check()==9)
            cout<<i1<<"/"<<i2<<"="<<n<<endl;
            else if(i2>10000 && check()==10)
            cout<<i1<<"/"<<i2<<"="<<n<<endl;
                                        }
    }
    return 0;
}
int check() {
    s=0;
    memset(data,0,sizeof(data));
    data[a]=1;
    data[b]=1;
    data[c]=1;
    data[d]=1;
    data[e]=1;
    if(i2<10000) {
        data[i2%1000%100%10]=1;
        data[i2%1000%100/10]=1;
        data[i2%1000/100]=1;
        data[i2/1000]=1;
        for(j=1;j<10;j++)
        s=s+data[j];
    }
    else if(i2>10000) {
        data[i2%10000%1000%100%10]=1;
        data[i2%10000%1000%100/10]=1;
        data[i2%10000%1000/100]=1;
        data[i2%10000/1000]=1;
        data[i2/10000]=1;
        for(j=0;j<10;j++)
        s=s+data[j];
    }
   
       return s;
}
1 回复
#2
wp2319572015-03-25 13:26
想问点神马呢
1