例题7.1.1,除法

有点长,不知道有没有更简洁的代码。

#include <iostream>
using namespace std;

int s[10]={0};

bool cheak()
{
     for( int i=0 ; i<10 ; ++i )
     {
          if( s[i] > 1 )return 0;
     }
     return 1;
}
int main()
{
    int a,b,c,d,e;
    int n;
    cin>>n;
    for( a=0; a<=9 ; a++ )
    for( b=0; b<=9 ; b++ )
    for( c=0; c<=9 ; c++ )
    for( d=0; d<=9 ; d++ )
    for( e=0; e<=9 ; e++ )
    {
         s[a]++;
         s[b]++;
         s[c]++;
         s[d]++;
         s[e]++;
         if( cheak() )
         {
             int t=e+d*10+c*100+b*1000+a*10000;
             if( t%n==0 )
             {
                 int val=t/n;
                 for( int i=0 ; i<5 ; ++i )
                 {
                      int mod=val%10;
                      val/=10;
                      s[mod]++;
                 }
                 if( cheak() )
                 {
                     printf("%05d/%05d=%d\n",t,t/n,n);
                 }
             }
         }
         memset(s,0,sizeof(s));
    }
    system("pause");
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值