Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.
Petya calls a number almost lucky if it could be evenly divided by some lucky number. Help him find out if the given number n is almost lucky.
Input
The single line contains an integer n (1 ≤ n ≤ 1000) — the number that needs to be checked.
Output
In the only line print “YES” (without the quotes), if number n is almost lucky. Otherwise, print “NO” (without the quotes).
#include<iostream>
using namespace std;
int main()
{
int x,temp=0;
cin >> x;
int a[14] = { 4,7,47,74,44,77,447,477,474,444,747,777,774 ,744};
for (int i = 0; i < 14; i++)
{
if (x % a[i] == 0)
{
cout << "YES" << endl;
temp = 1;
break;
}
}
if (temp == 0)
cout << "NO" << endl;
return 0;
}
本文探讨了幸运数的概念,即正整数中只包含4和7这两个幸运数字的数。进一步介绍了几乎幸运数,即能被某个幸运数整除的数,并提供了一个算法示例,用于判断给定的数是否为几乎幸运数。
1428

被折叠的 条评论
为什么被折叠?



