• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学B组试题B卡片

互联网 diligentman 2周前 (04-30) 6次浏览

话不多说,先上图片2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学B组试题B卡片

乍一看这题目很难,其实很简单,只要学会一个数的每位遍历即可&#xff0c++;以下是我遍历一个数每位的模板:
int n;//n是要遍历的数
int i;
while(n)
{i=n/10;//i的结果就是一个整数的每位数&#xff0c++;它会从个位开始遍历,一直在变
n/=10;
}

这个就是解答这个题目的代码了

#include<stdio.h>
int b0=2021,b1=2021,b2=2021,b3=2021,b4=2021,b5=2021,b6=2021,b7=2021,b8=2021,b9=2021;
int main()
{
int i;
for(i=1;i<=9999;i++)
{
if(fact(i)==1)
{printf("%d",i-1);
break;
}}
}


int fact(int i)
{
int n;
while(i)
{
n=i%10;
if(n==0)b0--;
if(n==1)b1--;
if(n==2)b2--;
if(n==3)b3--;
if(n==4)b4--;
if(n==5)b5--;
if(n==6)b6--;
if(n==7)b7--;
if(n==8)b8--;
if(n==9)b9--;
if(b0<0||b1<0||b2<0||b3<0||b4<0||b5<0||b6<0||b7<0||b8<0||b9<0)
return 1;
i/=10;
}
}

实施答案:3181
2021第十二届蓝桥杯大赛软件赛省赛C/C++ 大学B组试题B卡片


喜欢 (0)