@PaulGuan
2016-10-01T11:30:54.000000Z
字数 429
阅读 687
Algorithm
一个整数n (1<=n<=1000) 只包含4或7,或者能被其他的只包含4或7的数字整除,这称为幸运数字,输出YES,反之则不是,输出NO。
我们可以提前打表储存500以内的所有只带4和7的数字(要提高效率,也可以判断一下然后不储存如44,77这样的能被其他的幸运数字整除的数),然后以此进行取模,能被整除的话,就是幸运数字。
#include <iostream>
using namespace std;
int num[8];
int main(void)
{
num[0]=4;
num[1]=7;
num[2]=47;
num[3]=74;
num[4]=447;
num[5]=474;
num[6]=477;
int n;
cin>>n;
int i;
for(i=0;i<7;i++)
{
if(n%num[i]==0)
{
cout<<"YES"<<endl;
return 0;
}
}
cout<<"NO"<<endl;
return 0;
}