情報オルセー課課課通(C++)p 139-例3幸運数の区分

2129 ワード

質問説明:正の整数nが「幸運数」で除算できるかどうかを判断します.ラッキー数とは、7、47477などの4または7のみを含む正の整数で、17、42はラッキー数ではありません.入力フォーマット:1行1正の整数n,1<=n<=1000.出力フォーマット:1行1文字列で、幸運数で「YES」を割り切ることができれば、「NO」を出力する.
#include
using namespace std;
int main()
{
    int n,flag=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int j=i;
        //do-while       j         
        do
        {
            if(j%10==4||j%10==7)
            flag=1;
            else
            {
                flag=0;
                break;
            }
            j/=10;
        }while(j);
        //if         n           ,     ,  YES,     
        if(flag==1&&n%i==0)
        {
            cout<<"YES"<return 0;
        }
    }
    if(flag==0)
    cout<<"NO"<return 0;
}