C++基础-编程练习题1

文章目录

  • 一、哥德巴赫猜想
  • 二、哥德巴赫猜想2
  • 三、打印成绩单
  • 四、成绩输入输出
  • 五、数组输出奇数位偶数位


一、哥德巴赫猜想

【试题描述】
哥德巴赫提出了以下的猜想:任何一个大于 2 的偶数都可以表示成 2 个质数之和。 质数是指除了 1 和本身之外没有其他约数的数, 如 2 和 11 都是质数,而 6 不是质数,因为 6 除了约数 1 和 6 之外还有约数 2 和 3。 需要特别说明的是 1 不是质数。
请你编一个程序验证哥德巴赫猜想
【输入要求】
n 的值
【输出要求】
多组由两个素数之和组成的表达式, 每组第一个数字要从小到大排列
【输入样例】
14
【输出样例】
3+11
7+7

#include <bits/stdc++.h>
using namespace std;  

// 函数用于检查一个数是否为质数  
bool isPrime(int n) {  
	//小于等于1的数不是质数
	if (n <= 1) return false;  
	//2是质数
	if (n == 2) return true;  
	//除2外能被2整除的数不是质数
	if (n % 2 == 0) return false;  
	
	for (int i = 3; i < n; i += 1) {
		//能被小于自身的数整除,说明不是质数
		if (n % i == 0) return false;  
	}  
	
	return true;  
}  

// 函数用于验证哥德巴赫猜想  
void goldbachConjecture(int n) {  
	if (n <= 2 || n % 2 != 0) {  
		cout << "输入错误,请输入大于 2 的偶数." << endl;  
		return;  
	}  
	//从2开始循环找到满足条件的两个质数
	for (int i = 2; i <= n / 2; ++i) {
		//第一个质数
		if (isPrime(i)) {  
			//第二个质数
			int second = n - i;  
			if (isPrime(second)) {  
				//质数之和,并输出结果  
				cout << i << "+" << second << endl;  
			}
		}  
	}  

}  

int main() {  
	//定义变量n,存放输入的大于2的偶数
	int n;  
	//输入大于 2 的偶数
	cin >> n;  
	//调用goldbachConjecture函数
	goldbachConjecture(n);  
	return 0;  
}

二、哥德巴赫猜想2

【试题描述】
求出哥德巴赫猜想的所有解(将一个大于 9 的奇数拆分成三个素数之和),并按从小到大的顺序写出。
【输入要求】
一行, 一个大于 9 的奇数。
【输出要求】
每行一个解。
【输入样例】
15
【输出样例】
15=2+2+11
15=3+5+7
15=5+5+5

#include <bits/stdc++.h>
using namespace std; 
// 判断是否为素数的函数  
bool isPrime(int num) {  
	if (num <= 1) return false;  
	if (num == 2) return true;  
	if (num % 2 == 0) return false;  
	
	for (int i = 3; i < num; i += 1) {  
		if (num % i == 0) return false;  
	}  
	
	return true;  
}

/**
  * 求解哥德巴赫猜想  
  * /
void goldbachConjecture(int oddNum) {  
	//取oddNum前三分之一段的数,因2是质数故从2开始
	for (int i = 2; i <= oddNum / 3; ++i) {  
		//i第一个质数
		//取剩下的前半段数
		for (int j = i; j <= (oddNum - i) / 2; ++j) {  
			//j第二个质数
			//求第三个质数k
			int k = oddNum - i - j;  
			//三个数均为素数时,满足要求
			if (isPrime(i) && isPrime(j) && isPrime(k)) {  
				//按题目要求输出
				cout << oddNum << "=" << i << "+" << j << "+" << k << endl;  
			}  
		}  
	}  
}  

int main() {  
	int oddNum;  
	//输入大于9的奇数
	cin >> oddNum;  
	if (oddNum <= 9 || oddNum % 2 == 0) {  
		cout << "输入错误,请输入一个大于9的奇数." << endl;  
		return 1;  
	}  
	goldbachConjecture(oddNum);  
	return 0;  
}

三、打印成绩单

【试题描述】
输入 N 个同学的语文成绩, 算出总分, 打印出成绩单
【输入要求】
N 个同学的成绩
【输出要求】
N 个同学的成绩及总分。
【输入样例】
5
98 78 98 65 90
【输出样例】
total:429
98
78
98
65
90

#include <bits/stdc++.h>
using namespace std;  
/**
  输入 N 个同学的语文成绩, 算出总分, 打印出成绩单
 */
int main() {  
	int n;  
	cin >> n; // 读取同学的数量  
	
	int scores[n]; // 创建一个存储成绩的数组  
	int total = 0; // 用于计算总分的变量  
	
	// 读取每个同学的成绩  
	for (int i = 0; i < n; ++i) {  
		cin >> scores[i];  
		//将每个成绩相加,得到总分
		total = total+ scores[i]; 
	}  
	// 打印总分  
	cout << "total:" << total << endl;  
	// 打印每个同学的成绩  
	for (int i = 0; i < n; ++i) { 
		cout << scores[i] << endl;  
	}  
	return 0;  
}

四、成绩输入输出

【试题描述】
全班 n 个同学的成绩需要按学号读入计算机并输出, 请编程实现。
【输入要求】
两行, 第一行为一个正整数 n, 第二行为 n 个实数。
【输出要求】
n 行, 包括所有同学的成绩, 每行包括学号和成绩, 之间用一个“: ” 分隔, 成绩保留一
位小数。
【输入样例】
5
92 97.5 93 87 89
【输出样例】
1: 92.0
2: 97.5
3: 93.0
4: 87.0
5: 89.0

#include <bits/stdc++.h>  
using namespace std;  
/**
  全班 n 个同学的成绩需要按学号读入计算机并输出
 * @return 
 */
int main() {  
	int n;  
	cin >> n; // 读取学生数量  
	
	double scores[n]; // 创建包含n个元素的double类型数组用于存储成绩  
	for (int i = 0; i < n; ++i) {  
		cin >> scores[i]; // 读取每个学生的成绩  
	}  
	
	// 遍历数组并输出每个学生的学号和成绩  
	for (int i = 0; i < n; ++i) {  
		//fixed确保了使用固定小数点格式,而setprecision(1)则设置了小数点后要显示的位数
		cout << (i + 1) << ": " << fixed << setprecision(1) << scores[i] << endl;  
	}  
	
	return 0;  
}

五、数组输出奇数位偶数位

【试题描述】
对输入的数据分两行输出, 第一行为输入顺序的奇数位置数据, 第二行为输入顺序的偶数位置数据。
【输入要求】
共两行。
第一行为整数 n。
第二行为 n 个整数。
【输出要求】
两行。
第一行为奇数位置的数。
第二行为偶数位置的数。
注意: 每个元素右边都有一个空格。
【输入样例】
9
1 5 4 7 8 5 6 9 3
【输出样例】
1 4 8 6 3
5 7 5 9

#include <bits/stdc++.h>  
using namespace std;  
/**
* 对输入的数据分两行输出, 第一行为输入顺序的奇数位置数据, 第二行为输入顺序的偶数位置数据。
**/
int main() {  
	int n;  
	cin >> n; // 读取整数n  
	
	int nums[n]; // 创建一个大小为n的数组来存储整数  
	for (int i = 0; i < n; ++i) {  
		cin >> nums[i]; // 读取整数并存入数组
	}  
	
	// 输出奇数位置的数  
	for (int i = 0; i < n; i =i+ 2) {  
		cout << nums[i];  
		if ((i + 2) < n) {  
			cout << " "; // 如果不是最后一个数,则输出一个空格  
		}  
	}  
	cout << endl; // 换行  
	
	// 输出偶数位置的数  
	for (int i = 1; i < n; i += 2) {  
		cout << nums[i];  
		if (i + 2 < n) {  
			cout << " "; // 如果不是最后一个数,则输出一个空格  
		}  
	}  
	cout << endl; // 换行  
	
	return 0;  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/601657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外网访问内网电脑?

随着互联网的发展&#xff0c;越来越多的人需要在不同地区间进行远程访问和组网。而在复杂网络环境下&#xff0c;外网访问内网电脑常常成为一个令人头痛的问题。现在有一款名为【天联】的组网产品却解决了这个难题。 【天联】组网是由北京金万维科技有限公司自主研发的一款内网…

【管理篇】管理三步曲:任务执行(三)

目录标题 多任务并行如何应对?如何确保项目有效的执行项目执行过程中常见的问题1、目标不明确2、责任不明确3、流程不健全4、沟通不到位 如何有效执行任务 如何让流程机制有效的执行 研究任务管理&#xff0c;就是为了把事情做出来&#xff0c;产出实实在在的业绩和成果&#…

京东物流:表格技术在物流行业的敏捷应用实践

“物流大促期间&#xff0c;在出库单量积压的场景下&#xff0c;不同仓的生产操作人员需要在统一数据源的基础上进行基于自身仓情况的个性化查询分析&#xff0c;从而能够实时监控客单情况&#xff0c;防止积压。要想实现这样的功能&#xff0c;对数据分析平台的要求就非常高。…

通过 Java 操作 redis -- 基本通用命令

目录 使用 String 类型的 get 和 set 方法 使用通用命令 exists &#xff0c;del 使用通用命令 keys 使用通用命令 expire,ttl 使用通用命令 type 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Java 操作 redis -- 连接 redis 关…

深入探索van Emde Boas树:原理、操作与C语言实现

van Emde Boas (vEB) 树是一种高效的数据结构&#xff0c;用于处理整数集合。它是由荷兰计算机科学家Jan van Emde Boas在1977年提出的。vEB树在处理整数集合的查找、插入、删除和迭代操作时&#xff0c;能够以接近最优的时间复杂度运行。vEB树特别适合于那些元素数量在某个较小…

CSS引用

CSS定义 层叠样式表&#xff1a;&#xff08;Cascading Style Sheets,缩写为css&#xff09;,是一种样式表语言&#xff0c;用来描述HTML文档的呈现&#xff08;美化内容&#xff09; 书写位置&#xff1a;title标签下方添加style双标签&#xff0c;style标签里写入CSS代码 在s…

Spring Security 入门1

1. 概述 基本上&#xff0c;在所有的开发的系统中&#xff0c;都必须做认证(authentication)和授权(authorization)&#xff0c;以保证系统的安全性。 authentication [ɔ,θɛntɪ’keʃən] 认证 authorization [,ɔθərɪ’zeʃən] 授权 以论坛举例子&#xff1a; 【认证…

Covalent引入五个新网络运营商,提升去中心化特性和数据安全性

为了进一步扩大运营商基础以并践行去中心化网络基础设施的宗旨&#xff0c;Covalent Network&#xff08;CQT&#xff09;在网络中引入了五个新的区块样本生产者&#xff08;BSPs&#xff09;角色。该举措不仅重申了 Covalent Network&#xff08;CQT&#xff09;对社区驱动协议…

Dynamics 365入门:轻松创建您的首个应用

大家好&#xff0c;我是嘻嘻一个从事软件开发的老兵&#xff0c;需要交流可以加VX:lilinsans_weixin, 今天接上篇&#xff1a; 注册 Dynamics 365后&#xff0c;如果创建自己的第一个应用 注册完试用版可以以试用30天。今天我就分享一下如何创建第一个应用 1、Dynamics 36…

##08 数据加载与预处理:PyTorch的心脏

文章目录 前言深入理解torch.utils.data数据集(Dataset)数据加载器(DataLoader) 实战演练&#xff1a;创建自定义数据集数据转换(Transform)数据加载总结 前言 在深度学习的宇宙中&#xff0c;数据是燃料&#xff0c;模型是发动机。而在PyTorch的世界中&#xff0c;torch.util…

制作微信小程序的常见问题,2024新手小白入门必看

在当今高度数字化的世界&#xff0c;移动应用已经在日常生活和工作中不可或缺。在众多的应用程序中&#xff0c;有一个平台在中国市场上脱颖而出&#xff0c;占有绝对的一席之地——微信。 虽然被称为世界上最流行的消息和社交媒体平台之一&#xff0c;但微信提供了一个让其能…

计算机网络5——运输层1概述与UDP

文章目录 一、协议概述1、进程之间通信2、运输层的两个主要协议3、运输层的端口1&#xff09;服务器端使用的端口号2&#xff09;客户端使用的端口号 二、用户数据报协议 UDP1、UDP 概述2、案例分析3、UDP的首部格式 一、协议概述 1、进程之间通信 从通信和信息处理的角度看&…

邮件群发还能用吗

邮件群发仍然可以使用。不过&#xff0c;在进行邮件群发时&#xff0c;可能会遇到一些问题&#xff0c;如选择合适的邮件群发软件、应对垃圾邮件过滤器的挑战、管理收件人列表、邮件内容的个性化和定制、邮件投递的时间管理以及避免被列入黑名单等。 为了优化邮件群发的效果&a…

微信小程序知识点归纳(一)

前言&#xff1a;适用于有一定基础的前端开发同学&#xff0c;完成从网页开发到小程序开发的知识转换。 先立框架&#xff0c;后砌墙壁 回顾&#xff1a;了解微信小程序开发流程-CSDN博客 初始页面结构&#xff0c;三部分pages、utils、配置&#xff0c;分别存放页面、工具类…

图形渲染在AI去衣技术中的奇妙之旅

在这个数字化飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为了我们生活中不可或缺的一部分。它像一位神秘的魔法师&#xff0c;以其不可思议的力量改变着我们的世界。今天&#xff0c;我要和大家探讨的&#xff0c;是一个颇具争议却技术含金量极高的话…

PostgreSQL自带的命令行工具13- pg_waldump

PostgreSQL自带的命令行工具13- pg_waldump 基础信息 OS版本&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a;16.2 pg软件目录&#xff1a;/home/pg16/soft pg数据目录&#xff1a;/home/pg16/data 端口&#xff1a;5777pg_waldump 是 Po…

【C++历练之路】红黑树——map与set的封装实现

W...Y的个人主页&#x1f495; gitee代码仓库分享&#x1f60a; 前言&#xff1a;上篇博客中&#xff0c;我们为了使二叉搜索树不会出现”一边倒“的情况&#xff0c;使用了AVL树对搜索树进行了处理&#xff0c;从而解决了数据在有序或者接近有序时出现的情况。但是AVL树还会…

【编码利器 —— BaiduComate】

目录 1. 智能编码助手介绍 2. 场景需求 3. 功能体验 3.1指令功能 3.2插件用法 3.3知识用法 3.4自定义配置 4. 试用感受 5. AI编程应用 6.总结 智能编码助手是当下人工智能技术在编程领域的一项重要应用。Baidu Comate智能编码助手作为一款具有强大功能和智能特性的工…

EPAI手绘建模APP数值几何变换

(10) 数值几何变换 图 257 数值几何变换工具栏 ① 数值几何变换和交互式几何变换都包括移动、旋转、缩放模型。但是交互式几何变换变换时的变换轴是模型自身中心为变换中心&#xff0c;以X、Y、Z方向的为变换方向&#xff0c;而数值几何变换可以指定变换中心和变换方向。另外&a…

HarmonyOS NEXT应用开发之多模态页面转场动效实现案例

介绍 本示例介绍多模态页面转场动效实现&#xff1a;通过半模态转场实现半模态登录界面&#xff0c; 与全屏模态和组件转场结合实现多模态组合登录场景&#xff0c;其中手机验证码登录与账号密码登录都为组件&#xff0c; 通过TransitionEffect.move()实现组件间转场达到近似页…
最新文章