B站头图景深对焦效果

请在图片上左右移动鼠标查看效果

关于UVA - 725 - Division 的一系列思考

枚举算法练习 - Virtual Judge (vjudge.net)

--------------------------------------------------------

WA:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int main(){
    int N;
    int num[10];
    int a,b;
    int m,n;
    memset(num,0,sizeof(num));
    while(cin>>N && N!=0){
        for(a=1234;a<=49382;a++){
            b=n*a;
            m=a,n=b;
            if(b>98765)
                cout<<"There are no solutions for "<<N<<"."<<endl;
            else if(b>0&&b<98766){
                int i,j;
                int flag=1;
                for(i=0;i<=4;i++){
                    if(m>9){
                        num[i]=m%10;
                        m=m/10;
                    }
                }
                for(i=5;i<=9;i++){
                    num[i]=n%10;
                    n/=10;
                }
                for(j=1;j<=9;j++){
                    if(num[i-1]==num[i])
                    flag=0;
                }
                if(flag==1)
                    printf("%05d / %05d = %d\n",b,a,N);
                else
                    cout<<"There are no solutions for "<<N<<"."<<endl;
            }
        }
    }
    return 0;
}

AC:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
char f[99];
int main()
{    
    int n,k=0;
    while(scanf("%d",&n)!=EOF&&n!=0)
    {  
        int a,b;
        bool flag1=false;
        if(k++) printf("\n");
        for(b=1234;b<=98765;b++)
        {       
            bool flag2=true;
            a=b*n;
            sprintf(f,"%05d%05d",a,b);
            if(strlen(f)>10) 
               break;
            sort(f,f+10);
            for(int i=0;i<10;i++)
            {
                if(f[i]!='0'+i) 
                    flag2=false;
            }
            if(flag2)
            {
                flag1=true;
                printf("%05d / %05d = %d\n",a,b,n);
            }          
        }
        if(!flag1) printf("There are no solutions for %d.\n", n);
    }
    return 0;
}

总结:

    对于 bool 类型的理解不到位,

bool 函数 可用的范围很广泛,

替代了C语言用 int 变量 flag 

《C prime plus》里的bool类型值得参考!

 

posted @ 2021-09-11 10:40  acmWang  阅读(24)  评论(0)    收藏  举报
返回顶端

2021-09-22 (星期三)
09:08:39 +08:00