[关闭]
@PaulGuan 2016-10-01T11:30:54.000000Z 字数 429 阅读 687

A - Lucky Division 题解

Algorithm


题目大意

一个整数n (1<=n<=1000) 只包含4或7,或者能被其他的只包含4或7的数字整除,这称为幸运数字,输出YES,反之则不是,输出NO。

分析

我们可以提前打表储存500以内的所有只带4和7的数字(要提高效率,也可以判断一下然后不储存如44,77这样的能被其他的幸运数字整除的数),然后以此进行取模,能被整除的话,就是幸运数字。

代码

  1. #include <iostream>
  2. using namespace std;
  3. int num[8];
  4. int main(void)
  5. {
  6. num[0]=4;
  7. num[1]=7;
  8. num[2]=47;
  9. num[3]=74;
  10. num[4]=447;
  11. num[5]=474;
  12. num[6]=477;
  13. int n;
  14. cin>>n;
  15. int i;
  16. for(i=0;i<7;i++)
  17. {
  18. if(n%num[i]==0)
  19. {
  20. cout<<"YES"<<endl;
  21. return 0;
  22. }
  23. }
  24. cout<<"NO"<<endl;
  25. return 0;
  26. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注