天天看點

幸運數的劃分

題目描述

​ 判斷一個正整數n是否能被一個"幸運數"整除。幸運數是指一個隻包含4或7的正整數。如:7、47、477等都是幸運數,17、42則不是幸運數。

輸入

​ 一行一個正整數n,1≤n≤1000。

輸出

​ 一行一個字元串,如果能被幸運數整除輸出"YES";否則,輸出"NO"。

樣例輸入

47
           

樣例輸出

YES
           

資料規模與約定

​ 時間限制:1 s

​ 記憶體限制:256 M

​ 100% 的資料保證 1≤n≤1000

AC代碼

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,flag;
    cin>>n;
    for (int i = 1; i <= n; i++) {
        int j = i;
        do {
            if (j%10 == 4 || j%10 == 7)  flag = 1;
            else {
                flag = 0;
                break;
            }
            j /= 10;
        } while(j);
        if (flag == 1 && n%i == 0) { 
            cout << "YES" << endl;
            return 0;
        }
    }
    if (flag == 0) 
        cout << "NO" << endl;
    return 0;
}