p8597 和 p8615

这是两道水题。好吧,其实学名叫作普及题。

看到有人直播写的,就顺便写了一下。

原来蓝桥杯的题目长这个样子,那确实不值得报名。

p8597,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>

using namespace std;

string a, b;

int main(int argc, char const *argv[])
{
cin >> a >> b;
// a = "*o**o***o***";
// b = "*o***o**o***";
// a = "**********";
// b = "o****o****";
int cnt = 0;
bool flag = 0;
for (unsigned int i = 0; i < a.size(); i++)
{
if (a[i] == b[i] && flag == 1)
{
cnt++;
}
if (a[i] != b[i])
{
if (flag == 0)
{
cnt++;
}
flag = !flag;
}
}
cout << cnt;

return 0;
}

p8651,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <cmath>

using namespace std;

bool isPerfectSquare(int n)
{
int attemp = (int)sqrt(n);
return attemp * attemp == n;
}
bool isRight(int n)
{
if (!isPerfectSquare(n))
{
return false;
}
for (int i = 1; i <= 6; i++)
{
int tmp = (int)pow(10.0, (double)i);
if (tmp >= n)
{
break;
}
if (n % tmp != 0)
{
int right = n % tmp;
int left = (n - right) / tmp;
if (isPerfectSquare(left) && isPerfectSquare(right))
{
return true;
}
}
}
return false;
}

int a, b;

int main(int argc, char const *argv[])
{
cin >> a >> b;
for (int i = a; i <= b; i++)
{
if (isRight(i))
{
cout << i << '\n';
}
}

return 0;
}

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!