C语言满足特定条件的4位数

任务描述
一个四位正整数,满足如下条件:

由数字1到数字9组成;各位数字都不相同;
从左至右数字降序排列;
并且相邻的两个数字前一个不能是后一个的倍数;
并且这4位数字不能都是奇数,也不能都是偶数。 编程输入两个4位整数a和b,输出区间[a,b]之间符合上述条件的所有数。
输入样例:
5000 7000
输出样例:
5432
6432
6532
6543


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
   int num1=0;
    int num2=0;
    scanf("%d%d",&num1,&num2);
    int i=0;
    for(i=num1;i<=num2;i++)
    {
        int a=i/1000;
        int b=i/100%10;
        int c=i/10%10;
        int d=i%10;
        if (a == 0 || b == 0 || c == 0 || d == 0)
        {
            continue;
        }
        if((a>b)&&(b>c)&&(c>d)&&(a%b!=0)&&(b%c!=0)&&(c%d!=0))
        {
            if((a%2==0)&&(b%2==0)&&(c%2==0)&&(d%2==0))
            {
                continue;
            }
            else if((a%2!=0)&&(b%2!=0)&&(c%2!=0)&&(d%2!=0))
            {
                continue;
            }
            else
            {
               printf("%d\n",i);
            }
            
        }
    }
   return 0;
}