Division UVA

来源:互联网 发布:新媒体网络部面试问题 编辑:程序博客网 时间:2024/06/17 00:13

题目:uva725

暴力求解最基础题,不是无脑暴力,还是需要认真分析的

我刚开始认为暴力就是无限叠加循环,很显然,行不通……看完题解后,知道要按题意控制范围

#include<iostream>#include<set>#include<iterator>#include<string>#include<set>#include<typeinfo>#include<queue>#include<list>#include<algorithm>#include<cstdio>#include<cctype>#include<cstring>#include<map>#include<vector>#include<cstdlib>#include<cmath>#include<stack>#include<sstream>#include<iomanip>const int maxn = 30;using namespace std;int p[15];bool judge(int a,int b){    if(a>98765)        return 0;    memset(p,0,sizeof(p));    if(b<10000)        p[0]=1;    while(a)    {        p[a%10]=1;        a=a/10;    }    while(b)    {        p[b%10]=1;        b=b/10;    }    int total = 0;    for(int i =0;i<10;i++)        total+=p[i];    return total==10;}int main(){    int n;    int kase = 0;    while(cin>>n&&n)    {        int count1=0;        if(kase)            cout<<endl;        kase++;        for(int i =1234;i<99999;i++)        {            if(judge(i*n,i))            {                printf("%d / %05d = %d\n", i*n,i,n);                count1++;            }        }        if(!count1)             printf("There are no solutions for %d.\n",n);    }}


0 0
原创粉丝点击