Day02
一、单词分析
1.代码
#include <iostream>
using namespace std;
int a[30] = { 0 }; //用来存放每个单词出现的次数
int main()
{
string b; //一行单词
cin >> b;
for(int i = 0; i < b.length(); i++) {
a[b[i] - 'a']++;
}
int max = 0;
int count = -1;
for(int i = 0; i < 26; i++) {
if(a[i] > max) {
max = a[i];
count = i;
}
}
cout << char(count + 'a') << endl << a[count] << endl;
return 0;
}
2. 问题
- 关于string的一些用法,如求长度可以用.length()、string重载了[]可以像操作数组一样进行操作
二、填空题
1. 一个有无图包含 2020 条边,如果图中没有自环和重边,请问最少包含多少个结点?
答案是:65
无向完全图边和节点之间的关系:边 = 点 * (点 - 1) / 2
所以解题 n * (n - 1) = 2020, 得到64点几,所以最小为65
2.一个包含 2020 个结点的无向图,如果图中没有自环和重边,最多包含多少条边?
https://www.lanqiao.cn/problems/578/learning/
解题同上
三、公约数
1.代码
#include <iostream>
using namespace std;
int main()
{
int count = 0;
for(int i = 1; i <= 1010; i++) {
if((2020 % i == 0) && (3030 % i == 0)) {
count++;
}
}
cout << count << endl;
return 0;
}
2.问题
-
%:除以0是没有意义的,i应该从1开始
-
i可以到1010结束,不用到2020

浙公网安备 33010602011771号