请各位朋友帮个忙,感激不尽。

判断一个正整数n是否能被一个“幸运数”整除。幸运数是指一个只包含4或7的正整数,如7、47、477等都是幸运数,17、42则不是幸运数

参考


(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>

int main()
{
    int n,flag;
    scanf("%d",&n);
    for(int i=4;i<=n;i++)
    {
        int j=i;
        flag=1;
        //while循环判断当前的j是不是一个幸运数
        while (j>0)
        {
            if(j%10!=4 && j%10!=7)
            {
                flag=0;
                break;
            }
            j/=10;
        }
        //if语句判断输入的数字n能否被当前的幸运数整除,如果能整除,输出YES,退出程序
        if(flag==1 && n%i==0)
        {
            printf("%d 可以被幸运数 %d 整除", n,i);
            return 0;
        }
    }
    if(flag==0)
        printf("%d 不能被幸运数整除", n);
    return 0;
}