赞
踩
Problem - 122A - Codeforces
- #include<bits/stdc++.h>
- using namespace std;
- bool is_lucky(int n)
- {
- set<int> q;
- while(n>=10)
- {
- q.insert(n%10);
- n=n/10;
- }
-
- q.insert(n);
- bool flag=true;
- for(auto x:q)
- {
- if(x!=4&&x!=7)
- {
- return false;
- }
- }
- return true;
- }
- int main()
- {
- int n;
- cin>>n;
- int h=n;
- int ans[10001];
-
- int top=0;
-
- if(is_lucky(h))
- {
- cout<<"YES";
- return 0;
- }
- for(int i=4;i<=n/2;i++)
- {
- if(is_lucky(i)&&h%i==0)
- {
- cout<<"YES"<<endl;
- return 0;
- }
- }
- cout<<"NO"<<endl;
- return 0;
- }
幸运数字:每一位数字都是4或7
几乎幸运数字:可以被幸运数字整除
所以本题可以先判断数字是不是幸运数字,若不是则判断其是不是几乎幸运数字
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。