【题目描述】
输入两个正整数m和k,其中1<m<100000,1<k<5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。 例如,输入:43833 3,满足条件,输出YES。如果输入:39331 3,尽管有3个3,但不能被19整除,也不满足条件,应输出NO。
【输入】
m 和 k 的值,中间用单个空格间隔。
【输出】
满足条件时输出 YES,不满足时输出 NO。
【输入样例】
43833 3
【输出样例】
YES
#include<iostream>
using namespace std;
int main()
{
int m,k,a[5],i,num=0;
cin>>m>>k;
/*依次读取各位数字*/
a[0]=m/10000;
a[1]=m%10000/1000;
a[2]=m%1000/100;
a[3]=m%100/10;
a[4]=m%10;
for(i=0; i<=4; i++) //统计3的个数
if(a[i]==3)
num++;
if((num==k)&&(m%19==0))//依照题意判断
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}
信息学奥赛一本通T1090:while与do-while语句 含k个3的数 归属于 while与do-while语句,更多同类题解源程序见:while与do-while语句 和 含k个3的数
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!