[UVA] 725 Division

題意分析:暴力的入門級題目,可以通過枚舉除數解決。注意這裏的輸入輸出,還有個很妙的處理0-9的不重複的方法。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std; 

char ans[11]="0123456789";
char s[11];

bool com(char a, char b){
    return a>b;
}

int main(){
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    int n ,m=0; 
    while((scanf("%d",&n)!=EOF)&&(n)){
        if(m>0) printf("\n");
        m++;
        int a ;
        int flag = 0 ; 
        for(int i = 1234 ; i < 100000 ; i++){
            a = i*n;
            if(a>98765){
                break;
            }
            if(i<10000){
                sprintf(s,"%d%d%d",0,i,a);
            }
            else{
                sprintf(s,"%d%d",i,a);
            }
            sort(s,s+10);
            if(strcmp(s,ans)==0){
                printf("%d / %05d = %d\n",a,i,n);
                flag = 1 ; 
            }

        }
        if(flag==0){
            printf("There are no solutions for %d.\n",n);
        }
    }
    return 0 ; 
}
發佈了52 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章