chipqi_qi_ZJ @ 2024-11-11 22:06:30
#include<bits/stdc++.h>
using namespace std;
int m,k,ans=0;
int main(){
cin>>m>>k;
for(int i=0;i<=m;i++){
if(m%10==3){
ans++;
}
m/=10;
}
if(ans==k){
cout<<"Yes";
}
else{
cout<<"No";
}
return 0;
}
求救,已经过不了了,教练还让我们用函数写!(一个蒟蒻的愤怒)
by 13853265477zhou @ 2024-11-21 18:05:17
不用函数:
#include <bits/stdc++.h>
using namespace std;
int main(){
long long m;
int k,g=0;
cin>>m>>k;
while(m){
if(m%10==3){
g++;
}
m/=10;
}
if(g==k){
cout<<"YES";
}else{
cout<<"NO";
}
}
by 13853265477zhou @ 2024-11-21 18:20:21
求互关
by luogu_00 @ 2024-11-21 21:42:31
你看一下 main
函数是怎么定义的就行了,你只需要一个函数:求出一个十进制数的第
注意题目中所说的数据范围是:
所以要用 long long
类型存储
代码:
#include<bits/stdc++.h>
using namespace std;
int len,k,ans=0;
long long m;//题目中的n的范围是10^15
int length(long long n){//求出n的十进制长度
if(n<10) return 1;
len=1;
while(n>=10){
len++;
n/=10;
}
return len;
}
int bit(long long n,int i){//求出n的第i位
len=length(n);
for(int j=i;j<len;j++){
n/=10;
}
return n%10;
}
int main(){//main主函数
cin>>m>>k;
len=length(m);
for(int i=0;i<=len;i++){
if(bit(m,i)==3){
ans++;
}
}
if(ans==k){
cout<<"YES";//题目要求,是YES而不是Yes
}
else{
cout<<"NO";//题目要求,是NO而不是No
}
return 0;
}
求关,这段代码可以AC