当前位置: 首页 > news >正文

考研机试常见基本题型

1、求100以内的素数

sqrt()函数在cmath头文件中。

#include <iostream>
#include <cmath>
using namespace std;int main() {int count = 0;  // 用于统计素数的个数// 遍历 100 到 200 之间的每一个数for (int num = 100; num <= 200; num++) {bool isPrime = true;  // 先假设当前数是素数// 判断是否为素数,检查从 2 到根号 num 的数for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) {isPrime = false;  // 如果能整除,则不是素数break;}}if (isPrime) {count++;  // 如果是素数,计数器加 1cout << num << " ";  // 输出素数}}cout << endl << count << endl;  // 换行后输出素数的个数return 0;
}

2、判断某点是否在一个三角形内

1、面积法

abs()、sqrt()都是在cmath中

#include <iostream>
#include <vector>
#include <cmath>// 计算两点间距离
double distance(std::vector<double>& a, std::vector<double>& b) {return std::sqrt((a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1]));
}// 计算三角形面积
double triangleArea(std::vector<double>& a, std::vector<double>& b, std::vector<double>& c) {double ab = distance(a, b);double bc = distance(b, c);double ca = distance(c, a);double s = (ab + bc + ca) / 2;return std::sqrt(s * (s - ab) * (s - bc) * (s - ca));
}// 判断点是否在三角形内
bool isPointInTriangle(std::vector<double>& p, std::vector<double>& a, std::vector<double>& b, std::vector<double>& c) {double s = triangleArea(a, b, c);double s1 = triangleArea(p, a, b);double s2 = triangleArea(p, b, c);double s3 = triangleArea(p, c, a);// 考虑浮点数精度问题,判断差值是否在一个很小的范围内return std::abs(s - (s1 + s2 + s3)) < 1e-9;
}int main() {// 测试代码std::vector<double> a = {0, 0};std::vector<double> b = {1, 0};std::vector<double> c = {0, 1};std::vector<double> p = {0.2, 0.2};std::cout << (isPointInTriangle(p, a, b, c)? "在三角形内" : "不在三角形内") << std::endl;return 0;
}

3、鸡兔同笼

#include <iostream>
using namespace std;// 判断是否能构成有效的鸡兔同笼问题
bool isSameCage(int heads, int feet) {// 判断脚的数量减去两倍头的数量是否为偶数且大于等于0if ((feet - 2 * heads) % 2 == 0 && feet - 2 * heads >= 0) {int y = (feet - 2 * heads) / 2;  // 兔子的数量int x = heads - y;  // 鸡的数量// 判断鸡和兔的数量是否都为非负整数if (x >= 0 && y >= 0) {return true;}}return false;
}
int main() {// 测试用例cout << (isSameCage(35, 94)? "true" : "false") << endl;cout << (isSameCage(2, 4)? "true" : "false") << endl;cout << (isSameCage(4, 2)? "true" : "false") << endl;cout << (isSameCage(10, 30)? "true" : "false") << endl;return 0;
}

英文字母大小写转换

描述:把一个字符串中所有的大写字母转换为小写字母,小写字母转换为大写字母,其他字符保持不变。

#include <iostream>
#include <string>
using namespace std;int main() {string s;cin >> s;for (char& c : s) {if (isupper(c)) {c = tolower(c);} else if (islower(c)) {c = toupper(c);}}cout << s << endl;return 0;
}

c语言版本

#include <iostream>
#include <string>
using namespace std;int main() {string s;cin >> s;for (char& c : s) {if ('A'<=c && c<='Z') {c +=32;}else if ('a' <= c && c <= 'z') {c -=32;}}cout << s << endl;return 0;
}

http://www.mrgr.cn/news/93723.html

相关文章:

  • 蓝桥杯嵌入式组第七届省赛题目解析+STM32G431RBT6实现源码
  • C#模拟鼠标点击,模拟鼠标双击,模拟鼠标恒定速度移动,可以看到轨迹
  • 数据结构第五节:二叉搜索树(BST)的基本操作与实现
  • RuoYi框架添加自己的模块(学生管理系统CRUD)
  • [Linux]进程
  • 在IDEA中进行git回滚操作:Reset current branch to here‌或Reset HEAD
  • 代码随想录算法营Day59,61 | 寻找存在的路径, 冗余连接,冗余连接II
  • SpringBoot集成MQ,四种交换机的实例
  • Vue3实战学习(Vue3的基础语法学习与使用(超详细))(3)
  • docker 常用命令教程
  • Ubuntu 下 nginx-1.24.0 源码分析 (1)
  • 【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 过滤器:实现请求的预处理与后处理
  • VBA 列方向合并单元格,左侧范围大于右侧范围
  • WSL安装及问题
  • Nginx快速安装-Linux-CentOS7
  • 美杜莎:带多个解码头的简单LLM推理加速框架
  • UI自动化测试Selenium安装教程(1)
  • 【Linux内核系列】:深入解析输出以及输入重定向
  • selenium库
  • TI毫米波雷达开发 —— 串口输出数据解析