一个四位正整数,满足如下条件:
由数字1到数字9组成;各位数字都不相同;
从左至右数字降序排列;
并且相邻的两个数字前一个不能是后一个的倍数;
并且这4位数字不能都是奇数,也不能都是偶数。
编程输入两个4位整数a和b,输出区间[a,b]之间符合上述条件的所有数。
输入样例:
5000 7000
输出样例:
5432
6432
6532
6543
我写的代码
#include <stdio.h>
#include <stdio.h>
int main() {
int a, b, i, m, n, p, q, t, isprem;
scanf("%d%d", &a, &b);
for (i = a; i <= b; i++) {
m = i / 1000;
n = i / 100 % 10;
p = i % 100 / 10;
q = i % 10;
if ((m % 2 == 0 && n % 2 == 0 && p % 2 == 0 && q % 2 == 0 ) || (m % 2 != 0 && n % 2 != 0 && p % 2 != 0 && q % 2 != 0))
isprem = 0;
else
isprem = 1;
if (isprem = 1) {
if (m % n != 0 && n % p != 0 && p % q != 0) {
printf("%d%d%d%d\n", m, n, p, q);
}
}
}
}