WHCSRL 技术网

122A. Lucky Division(c++)(暴力)_m0

【萌新发文,有错误的地方还请大家多多指教】

 n 的范围为[1,1000] 可以暴力破解。

  1. #include <iostream>
  2. using namespace std;
  3. bool iflucky(int x)//函数用来判断是否为幸运数字。
  4. {
  5. while (x > 0)
  6. {
  7. if (x %% 10 != 4 && x %% 10 != 7) return false;//看个位是否为幸运数字4或7,若不是则返回false。
  8. x /= 10;//将数字的个位舍去并将十位变成个位
  9. }
  10. return true;
  11. }
  12. int main()
  13. {
  14. int a;
  15. cin >> a;
  16. if (iflucky(a))
  17. {
  18. cout << "YES";
  19. return 0;
  20. }//判断输入的数字本身是否为幸运数字。
  21. for (int i = 4; i <= a/2; i++)//从最小幸运数字4开始,到最大能整除的为该数字本身的一半。
  22. {
  23. if (iflucky(i) && a %% i == 0)
  24. {
  25. cout << "YES";
  26. return 0;
  27. }
  28. }
  29. cout << "NO";
  30. return 0;
  31. }

推荐阅读