@sensitive-cs
2016-10-19T09:59:02.000000Z
字数 559
阅读 967
给出两个数字a和b,要求找到一个c,使得c>a且c中所有的4和7按顺序抽出来只存在一个b。
定义三个字符串,保存a和b,a递增,每一次将a中的4和7按顺序抽出组成c,判断c和b是否相等。若相等,则输出此时的a。
#include <stdio.h>char a[15];char b[15];char c[15];int main(){long long e,f,ia = 0,ib = 0,i = 0,j = 0;int cal = 0;scanf("%I64d%I64d",&e,&f);while (f != 0){b[ib] = f % 10;f /= 10;ib++;}for (i = e + 1; ;i++){long long temp = i;while (temp != 0){a[ia] = temp % 10;temp /= 10;ia++;}for (j = 0;j < ia;j++){if (a[j] == 7 || a[j] == 4){c[cal] = a[j];cal++;}}for (j = 0;j < ib;j++){if (b[j] != c[j])break;}if (j == ib && j == cal){printf("%I64d\n",i);break;}else{cal = 0;ia = 0;for (j = 0;j < 15;j++){a[j] = 0;c[j] = 0;}}}return 0;}