热身赛题解

传送门:我是传送门

除了D题都挺友好的吧?

A 寻找欧皇

我随机选了一个数7
可能大部分同学没见过这种题

其实可以通过看大家提交的错误次数

大部分人都是错了6次 你可以猜一下7

或者你直接尝试1-9这9个数字

B 人类的本质

读入一个字符串 读入一个整数然后一个for循环输出

注意多组读入

1
2
3
4
5
6
7
8
9
10
int n;
char s[110];
while(scanf("%s",s) != EOF)
{
scanf("%d",&n);
for(int i = 1;i <= n;i++)
{
printf("%s\n",s);
}
}

C 数的价值

直接算就好了

注意多组输入 记得初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
long long n;
while(scanf("%lld",&n) != EOF)
{
long long ans = 1;
bool flag = 0; // 作用看下文
while(n)
{
if(n%10) // 判断最后一位是不是非0数
{
ans *= (n%10);
flag = 1;
}
n /= 10;
}
if(flag)
printf("%lld\n",ans);
else
printf("0\n");
}

输入:0

输出:0

如果不加flag进行判断是否存在非零数的话

上边这组数据输出的可能是1

当然 这是针对这种写法来说,这种题解题方法太多了

D 方格填充

我当时写的时候是自己在纸上手推所有情况

范围才1-7而已

自己手动推出来

1x1

2x1 2x2

3x1 3x2 3x3

………..

7x1 7x2 7x3 7x4 7x5 7x6 7x7

的所有大小的矩形就出来答案了

这里是心出题人给的简短题解,详细的版本可能要稍等等

对于每组m,n。设t= (m x n ) / 4取整,若能整除,从t开始枚举,否则,从t+1开始。容易发现,若mxn是4x2的组合,则t为答案,否则t+1为答案。
n或m是1的时候要特判

E 买铅笔

这个就是比较一下三个数的大小的稍微升级版。。。

看这里

F 图书管理员

网络上的题解非常多

看这里