题目描述
判断一个正整数n是否能被一个"幸运数"整除。幸运数是指一个只包含4或7的正整数。如:7、47、477等都是幸运数,17、42则不是幸运数。
输入
一行一个正整数n,1≤n≤1000。
输出
一行一个字符串,如果能被幸运数整除输出"YES";否则,输出"NO"。
样例输入
47
样例输出
YES
数据规模与约定
时间限制:1 s
内存限制:256 M
100% 的数据保证 1≤n≤1000
AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,flag;
cin>>n;
for (int i = 1; i <= n; i++) {
int j = i;
do {
if (j%10 == 4 || j%10 == 7) flag = 1;
else {
flag = 0;
break;
}
j /= 10;
} while(j);
if (flag == 1 && n%i == 0) {
cout << "YES" << endl;
return 0;
}
}
if (flag == 0)
cout << "NO" << endl;
return 0;
}