专注 效率 记忆
预习 笔记 复习 做题
欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)
文章字体风格:
红色文字表示:重难点★✔
蓝色文字表示:思路以及想法★✔
如果大家觉得有帮助的话,感谢大家帮忙
点赞!收藏!转发!
本博客带大家一起学习,我们不图快,只求稳扎稳打。
由于我高三是在家自学的,经验教训告诉我,学习一定要长期积累,并且复习,所以我推出此系列。
只求每天坚持40分钟,一周学5天,复习2天
也就是一周学10道题
60天后我们就可以学完81道题,相信60天后,我们一定可以有扎实的代码基础!我们每天就40分钟,和我一起坚持下去吧!
qq群:878080619
第二十七天【考研408-数据结构(笔试)】
- 二十五、枚举
- 1. 与7无关的数 (北京大学考研机试题)
- 2. 打印极值点下标( 北京大学考研机试题 )
- 3. 最简真分数( 北京大学考研机试题 ) 【真分数】
二十五、枚举
1. 与7无关的数 (北京大学考研机试题)
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;int main()
{int n;cin >> n;int res = 0;for (int i = 1; i <= n; i ++ ){if (i % 7 == 0 || to_string(i).find('7') != -1)continue;res += i * i;}cout << res << endl;return 0;
}
2. 打印极值点下标( 北京大学考研机试题 )
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 110;int n;
int w[N];int main()
{cin >> n;for (int i = 0; i < n; i ++ ) cin >> w[i];for (int i = 0; i < n; i ++ )if (!i){if (n == 1 || w[i] != w[i + 1]) cout << i << ' ';}else if (i == n - 1){if (w[i] != w[i - 1]) cout << i << ' ';}else{if (w[i] > w[i - 1] && w[i] > w[i + 1] ||w[i] < w[i - 1] && w[i] < w[i + 1])cout << i << ' ';}return 0;
}
3. 最简真分数( 北京大学考研机试题 ) 【真分数】
最简真分数
- 分子大于分母
- 最大公约数是1
#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;const int N = 110;int n;
int a[N];// 欧几里得算法(辗转相除法)
int gcd(int a, int b) {return b? gcd(b, a % b): a;
}int main() {while (cin >> n && n) {memset(a, 0, sizeof(a));int cnt = 0;for (int i = 0; i < n; i++) cin >> a[i];for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (a[i] < a[j] && gcd(a[i], a[j]) == 1) {cnt++; }}}cout << cnt << endl;}return 0;
}