描述
输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。
解题思路:
1.首先创建int类型的变量a.并输入a。
2.首先判断是否满足了条件一。
3.(如果满足了条件一)利用wheil循环进行数位分离。(是否满足了条件二)
4.如果满足了条件一和条件二输出“YES”,否则输出“NO”
程序:
#include<bits/stdc++.h> using namespace std; int main() { int a,b,n,x=0;//创建变量;a,b,n和 x。 cin>>b>>a;//输入a。 if(b%19==0)//如果满足第一个条件,执行: { while(b!=0)//数位分离,直到分离完(b=0) { n=b%10;//分离个位。 if(n==3)如果n=3 ,执行: { x++;//x+1; } b=b/10;//b除以十。 } if(x==a)//如果满足第二个条件,执行: { cout<<"YES";//输出"YES" 。 } else//否则: { cout<<"NO"; //输出"NO"。 } } else//(如果满足第一个条件)否则: { cout<<"NO"; //输出"NO" 。 } return 0; }
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,n,x=0;//创建变量;a,b,n和 x。
cin>>b>>a;//输入a。
if(b%19==0)//如果满足第一个条件,执行:
{
while(b!=0)//数位分离,直到分离完(b=0)
{
n=b%10;//分离个位。
if(n==3)//如果n=3 ,执行:
{
x++;//x+1;
}
b=b/10;//b除以十。
}
if(x==a)//如果满足第二个条件,执行:
{
cout<<"YES";//输出"YES" 。
}
else//否则:
{
cout<<"NO"; //输出"NO"。
}
}
else//(如果满足第一个条件)否则:
{
cout<<"NO"; //输出"NO" 。
}return 0;
}