寻找特殊偶数(10分)
题目内容:
有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。
输入格式:
所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。如果输入遇到0,输入结束。
输出格式:
列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。
输入样例:
3000 3020
6040 6090
0 0
输出样例:
3012 3014 3016 3018
counter=4
6042 6048 6052 6054 6058 6072 6074 6078 6082 6084
counter=10
输入样例:
9 101
87 -1
0 0
输出样例:
Error
Error
#include<stdio.h>
int main()
{
int i, j, k, a, b, c, d, m=0, e;
for( e = 0 ; e >= 0 ; e++)
{
scanf("%d%d",&i,&j);
if( i == 0 || j == 0 ) break;
else
if( ( i > 9999 || i < 1000 ) || ( j > 9999 || j < 1000 ) )
printf("Error\n");
else
{
for( k = i ; k <= j ; k++)
{
if ( k % 2 == 1) continue;
a = k / 1000;
b = ( k % 1000 ) / 100;
c = ( k % 100 ) / 10;
d = k % 10;
if( a == b || a == c || a == d || b == c || b == d || c == d ) continue;
printf("%d ",k);
m += 1;
}
printf("\ncounter=%d\n",m);
m=0;
}
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: