位置:海口童程童美少儿编程培训学院 > 学校动态 > 信息学 幸运数的划分
【问题描述】
判断一个正整数 n 是否能被一个“幸运数”整除。幸运数是指一个只包含 4 或 7 的正整数,如 7、47、477 等都是幸运数,17、42 则不是幸运数。
【输入格式】
一行一个正整数 n,1≤n≤1000。
【输出格式】
一行一个字符串,如果能被幸运数整除输出“YES”;否则,输出“NO”。
【输入样例】
47
【输出样例】
YES
【问题分析】
分析发现,1~1000 范围内的幸运数只有 14 个。于是,将这 14 个幸运数直接存储到一个数组 lucky 中,再穷举判断其中有没有一个数能整除 n。
#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==4||j==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;
}
尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/963/news/421424/违者必究! 以上就是海口童程童美少儿编程培训学院 小编为您整理 信息学 幸运数的划分的全部内容。