我用的是纯C语言,c++只是比赛前几天接触过,太辣鸡了。。。。。
我是小白!!!很白的那种,小白白哦!!!
今年的蓝桥杯第二场题目对于我这个小白白还算友好,难的不会,起码简单的会一点。我把我把昨天考试的自己的解题结果贴一下(自己的解法!!!不是官方答案),有问题大佬要指正哟!!!
题目链接:https://pan.baidu.com/s/1O146R_4-S5VEd_lsXwwpRA
提取码:fakl
我们来进入正题
试题A【求余】
看到第一个题惊呆我了,直接口算就完事。
答案:1
当然也可以用代码实现
#include
int main()
{
printf("%d\n",2021%20);
return 0;
}
答案:59375
这个题比赛的时候爆了,当时我什么都不懂,后来学了一点算法才明白,害,真是亏死了,这么简单。。。
#include
int main()
{
int i;
long long sum=1;
int n;
printf("请输入:\n");
scanf("%d",&n);
if(n%2==0)
{
for(i=2;i<=n;i=i+2)
{
sum=sum*i%100000;
}
}
if(n%2==1)
{
for(i=1;i<=n;i=i+2)
sum=sum*i%100000;
}
printf("结果为:%d\n",sum);
return 0;
}
蓝桥杯中,能用long long
的就不用int
。我这里算出来的是整个数,要取最后五位数!!!
试题C【格点】
乍一看我以为很难,仔细看了看就是个基础题,不知道我理解的对不对。
答案:15698
代码:
#include
#include
int main()
{
int i,j;
int sum=0;
for(i=1;i<=2021;i++)
{
for(j=1;j<=2021;j++)
{
if(i*j<=2021)
{
sum++;
}
}
}
printf("%d\n",sum);
return 0;
}
试题D【整数分解】
测试3的时候直接用的双重for循环,测试5的时候用了三个for循环,但是到2021用五个for循环直接运行不出来。。。。。。。
哎,最后编了一个结果写上去了。
试题E【城邦】
考试的时候以为很难,就没做,等考试快结束了,发现要是认真做还是有希望的,最后放弃了。。。。。
试题F【特殊年份】
作为第一个编程大题,还是比较基础的。
直接上代码
#include
#include
int f(int num)
{
int a,b,c,d;
a=num%10;
num=num/10;
b=num%10;
num=num/10;
c=num%10;
num=num/10;
d=num%10;
if((b==d)&&(a==c+1))
{
return 1;
}
return 0;
}
int main()
{
int sum=0;
int ar[5];
for(int i=0;i<5;i++)
{
scanf("%d",&ar[i]);
}
for(int i=0;i<5;i++)
{
if(f(ar[i]))
sum++;
}
printf("%d\n",sum);
return 0;
}
#include
int main()
{
int n,sq;
int sum=0;
scanf("%d",&n);
for(int i=1;i<n;i++)
{
sq=i*i;
if((sq%n)<(n/2))
{
sum++;
}
}
printf("%d\n",sum);
return 0;
}
#include
#include
#include
#define N 1000000000000
int f(int num,int i)
{
int a,b;
b=num*i;
a=sqrt(b);
if(a*a==b)
{
return 1;
}
return 0;
}
int main()
{
int n,x;
scanf("%d",&n);
for(x=1;x<N;x++)
{
if(f(n,x))
{
break;
}
}
printf("%d\n",x);
return 0;
}
最后俩大题就看了一下,过过眼瘾,别说咱没见过大世面。作为小白白的我,算法都没学过,压根就没奢望过这俩题
试题I【负载均衡】
试题J【国际象棋】
对于我这个小白来说,总体还算可以,不用学习算法就能做出来一半多。总结经验,学习算法,明年再战。
希望今年给我一个三等奖就好了。
呜呜呜,小白的要求很低。