例题7-1 UVa725 Division(枚举)

来源:互联网 发布:c#怎么连接数据库 编辑:程序博客网 时间:2024/05/24 04:35

要点:

用0~9编成两个五位数,要求两个数中每个数字只出现一次,第二个数中可以有前导0

要点:

用第二个数直接暴力枚举就可以


#include<stdio.h>#include<string.h>int num[10];int judge(int a,int b){memset(num, 0, sizeof(num));if (b > 98765) return 0;if (a < 10000)num[0] = 1;while (a){num[a%10]=1;a /= 10;}while (b){num[b % 10]=1;b /= 10;}int sum = 0;for (int i = 0; i < 10; i++)sum += num[i];return (sum == 10);}int main(){int n,i,count=0;while (scanf("%d", &n), n){bool flag = false;if (count++)printf("\n");for (i = 1234; i <50000; i++){if (judge(i, n*i)){printf("%05d / %05d = %d\n", i*n, i, n);//格式要求这中间有空格flag = true;}}if (!flag)printf("There are no solutions for %d.\n", n);}return 0;}


0 0
原创粉丝点击