当前位置:   article > 正文

Codeforces Beta Round 91 (Div. 2 Only) A. Lucky Division

Codeforces Beta Round 91 (Div. 2 Only) A. Lucky Division
Problem - 122A - Codeforces

代码:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. bool is_lucky(int n)
  4. {
  5. set<int> q;
  6. while(n>=10)
  7. {
  8. q.insert(n%10);
  9. n=n/10;
  10. }
  11. q.insert(n);
  12. bool flag=true;
  13. for(auto x:q)
  14. {
  15. if(x!=4&&x!=7)
  16. {
  17. return false;
  18. }
  19. }
  20. return true;
  21. }
  22. int main()
  23. {
  24. int n;
  25. cin>>n;
  26. int h=n;
  27. int ans[10001];
  28. int top=0;
  29. if(is_lucky(h))
  30. {
  31. cout<<"YES";
  32. return 0;
  33. }
  34. for(int i=4;i<=n/2;i++)
  35. {
  36. if(is_lucky(i)&&h%i==0)
  37. {
  38. cout<<"YES"<<endl;
  39. return 0;
  40. }
  41. }
  42. cout<<"NO"<<endl;
  43. return 0;
  44. }

思路:

幸运数字:每一位数字都是4或7

几乎幸运数字:可以被幸运数字整除

所以本题可以先判断数字是不是幸运数字,若不是则判断其是不是几乎幸运数字


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/75821
推荐阅读
相关标签
  

闽ICP备14008679号