【题】
寻找特殊偶数
背景
有一种特殊偶数,它每一位上的数字都两两不相同。我们现在需要找出四位数中某一区间内的这类偶数。
输入
所要寻找的四位偶数的范围。每组输入有两个数字:第一个数字是最小范围;第二个数字是最大范围。如果输入遇到0,输入结束。
输出
列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
| 以文本方式显示
| 无限制 | 64M | 0 |
测试用例 2 | 以文本方式显示
| 以文本方式显示
| 无限制 | 64M | 0 |
#include "stdio.h"
int main()
{
int min = 3000, max = 3020;
int i, j, k, count = 0, flag = 1;
int arr[4];
while (1)
{
scanf("%d %d", &min, &max);
getchar();
if (min == 0 && max == 0)
{
break;
}
if (min < 1000 || min > 9999 || max < 1000 || max > 9999)
{
printf("Error\n");
continue;
}
count = 0;
for (i = min; i <= max; i++)
{
if (i % 2 == 1)
{
continue;
}
arr[0] = i / 1000;
arr[1] = i % 1000 / 100;
arr[2] = i % 100 / 10;
arr[3] = i % 10;
flag = 1;
for (j = 0; j < 4; j++)
{
for (k = 0; k < 4; k++)
{
if (j != k && arr[j] == arr[k])
{
flag = 0;
break;
}
}
if (!flag)
{
break;
}
}
if (flag)
{
printf("%d ", i);
count++;
}
}
printf("\ncounter=%d\n", count);
}
return 0;
}