PTA程序辅助实验平台——2023年软件设计综合实践_3(分支与循环)

news2024/11/17 19:51:44

第一题:7-1 印第安男孩 - C/C++ 分支与循环

朵拉编程的时候也想顺便练习英语。她编程从键盘读入一个整数n,如果n值为0或者1,向屏幕输出“0 indian boy.”或“1 indian boy.”;如果n大于1,比如9,则输出“9 indian boys.”。请你也编一个这样的程序。

输入格式:

整数n

输出格式:

见题干描述

输入样例:

9

输出样例:

9 indian boys.
#include<bits/stdc++.h>
using namespace std;
int n;
int main() {
    cin >> n;
    if (n == 0) cout << "0 indian boy.";
    else if (n == 1) cout << "1 indian boy.";
    else if(n>1) cout << n << " indian boys.";

    return 0;
}

 

第二题7-2 3,5,7的倍数 - C/C++ 分支与循环

编程序实现功能:输入一个整数,判断其是否能同时被3、5、7整除。能被整除则输出“Yes”,否则, 输出“No”。

输入格式:

一个整数

输出格式:

Yes 或 No

输入样例:

7

输出样例:

No
#include<bits/stdc++.h>
using namespace std;
int n;
int main() {
    cin>>n;
    if (!(n % 3))
        if (!(n % 5))
            if (!(n % 7))
                cout << "Yes";
            else cout << "No";
        else cout << "No";
    else cout << "No";

        return 0;
}

 

7-3 超速罚款 - C/C++ 分支与循环

开车超速是要罚款的,某国相应法律如下:

情况处罚
车速 ≤ 限速程序输出:Not Speeding
超速比 ≤ 10%程序输出:Speeding Warning
10% <超速比≤ 20%程序输出:Fine 100
20% <超速比≤ 50%程序输出:Fine 500
50% <超速比≤ 100%程序输出:Fine 1000
超速比 > 100%程序输出:Fine 2000

请编写程序,程序从输入的第1行读取车速(整数),从输入的第2行读取限速值(整数),然后使用条件分支语句进行判断,输出如表所示的处罚结论。

输入格式:

车速
限速值

输出格式:

如表所示的处罚结论

输入样例:

149
100

输出样例:

Fine 500
#include<bits/stdc++.h>
using namespace std;
int v, limit;
int main() {
    cin >> v >> limit;
    if (v <= limit)
        cout << "Not Speeding";
    else if (v <= limit * 1.1)
        cout << "Speeding Warning";
    else if (v <= limit * 1.2)
        cout << "Fine 100";
    else if (v <= limit * 1.5)
        cout << "Fine 500";
    else if (v <= limit * 2)
        cout << "Fine 1000";
    else
        cout << "Fine 2000";

        return 0;
}

 7-4 象限判定 - C/C++ 分支与循环

请编程实现下述功能:

  • 从键盘读入不为零的两个坐标值(浮点数);注意两个坐标值应使用英文逗号分隔;
  • 结合上图,判定点(x,y)所在的象限。
    说明:程序约定x和y值不为0

image.png

输入格式:

x,y

输出格式:

quadrant 1/2/3/4

输入样例:

15.2,-11.3

输出样例:

quadrant 4
#include<bits/stdc++.h>
using namespace std;
double x, y;
char a;
int main() {
    cin>>x>>a>>y;
    if (x > 0)
        if (y > 0)
            cout << "quadrant 1";
        else
            cout << "quadrant 4";
    else if (y > 0)
        cout << "quadrant 2";
    else
        cout << "quadrant 3";

        return 0;
}

 7-5 三天打渔、两天晒网 - C/C++ 分支与循环

郭、王两位大侠同上终南山习武,两人最初的战力值均为100。王大侠骨骼清奇,天赋较高,每练功一天,战力增加2‰,郭大侠比较愚笨,每练功一天,战力增加1‰。如果休假一天不练,两人的战力均减少1‰。相较于王大侠,郭大侠更加勤奋,日日练功,从不休息,而王大侠,则三天打渔,两天晒网,也就是每5天的前三天练功,后两天休假。

请编写程序,计算N天之后,郭大侠和王大侠战力分别是多少?

输入格式:

整数N

输出格式:

郭的战力值,王的战力值

说明:均保留1位小数,以英文逗号分隔

输入样例:

5

输出样例:

100.5,100.4
#include<bits/stdc++.h>
using namespace std;
int n;
double g = 100, w = 100;
int main() {
	cin >> n;
	g = g*pow(1.001, n);
	if (n >= 5) {
		int d;
		d = n / 5;
		double p;
		p=pow(1.002, 3) * pow(0.999, 2);
		w = w * pow(p, d);
	}
	if (n % 5 <= 3) {
		w = w * pow(1.002, n % 5);
	}
	else {
		w = w * pow(1.002, n % 5);
		w = w * 0.999;
	}
	cout << fixed << setprecision(1);
	cout << g << "," << w;
	return 0;
}

 

 7-6 "验证"哥德巴赫猜想 - C/C++ 分支与循环

数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。请设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。

输入格式:

在一行中给出一个(2,2 000 000 000]范围内的偶数N。

输出格式:

在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。

输入样例:

18

输出样例:

18 = 5 + 13
#include<bits/stdc++.h>
using namespace std;
long long int n;
bool prime(int a) {
	for (int i = 2; i < sqrt(a); i++) {
		if (a % i==0) return 0;
	}
	return 1;
}
int main() {
	cin >> n;
	for (int i = 2; i <= n / 2; i++) {
		if (prime(i)&& prime(n - i))
		{
			cout << n << " = " << i << " + " << n - i;
			break;
		}
	}
	return 0;
}

7-7 考拉慈猜想 - C/C++ 分支与循环

考拉兹猜想(Collatz conjecture)又称奇偶归一猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2。
如此循环,最终都能得到1。编写一个程序,输入一个正整数,打印其考拉兹序列。

输入格式:

1个>1的正整数

输出格式:

以逗号分隔的考拉兹序列。

输入样例:

5

输出样例:

16,8,4,2,1
#include<bits/stdc++.h>
using namespace std;
int n;
int main() {
	cin >> n;
	while (n != 1) {
		if (n % 2 == 1) {
			n = n * 3 + 1;
			cout << n << ",";
		}
		else if (n == 2) {
			n = n / 2;
			cout << 1;
		}
		else {
			n = n / 2;
			cout << n << ",";
		}
	}
	return 0;
}

7-8 N个数求和 

本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。

输入格式:

输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。

输出格式:

输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数部分。

输入样例1:

5
2/5 4/15 1/30 -2/60 8/3

输出样例1:

3 1/3

输入样例2:

2
4/3 2/3

输出样例2:

2

输入样例3:

3
1/3 -1/6 1/8

输出样例3:

7/24

 

#include<cstdio>
#define ll long long
/*求最大公约数*/
ll gcd(ll a,ll b){
	if(b==0)return a;
	return gcd(b,a%b);
}
/*求最小公倍数*/
ll lcm(ll a,ll b){
	return a*b/gcd(a,b);
}
/*分子分母进行约分*/ 
void yuefen(ll &a,ll &b){
	ll gcdNum=gcd(a,b);
	if(gcdNum!=0){
		a=a/gcdNum;
		b=b/gcdNum;
	}
}
int main(){
	int n;
	ll a1,b1,a2,b2;
	scanf("%d",&n);
	scanf("%lld/%lld",&a1,&b1);
	yuefen(a1,b1);
	int i=1;
	while(i<n){
		scanf("%lld/%lld",&a2,&b2);
		ll lcmNum=lcm(b1,b2);
		a1=a1*lcmNum/b1+a2*lcmNum/b2;//分子进行相加
		b1=lcmNum;
		yuefen(a1,b1);//约分化简
		i++;
	}
	//整数为0且a1!=0 如1/2
	if(a1&&a1/b1==0){
		printf("%lld/%lld\n",a1,b1);
	}else if(a1%b1==0){//如2/2 
		printf("%lld\n",a1/b1);
	}else {//如3/2 
		printf("%lld %lld/%lld\n",a1/b1,a1%b1,b1); 
	}
	return 0;
}

7-9 均是素数

在给定的区间 [m,n] 内,是否存在素数 p、q、r(p<q<r),使得 pq+r、qr+p、rp+q 均是素数?

输入格式:

输入给出区间的两个端点 0<m<n≤1000,其间以空格分隔。

输出格式:

在一行中输出满足条件的素数三元组的个数。

输入样例:

1 35

输出样例:

10

样例解读

满足条件的 10 组解为:

2, 3, 5
2, 3, 7
2, 3, 13
2, 3, 17
2, 5, 7
2, 5, 13
2, 5, 19
2, 5, 31
2, 7, 23
2, 13, 17
#include<stdio.h>
#include<math.h>
int sushu(int i)          //求素数函数       
{
	int flag1=0;
	if(i>=2)
	{
		for(int j=2;j<=sqrt(i);j++)
		{
			if(i%j==0)
			{
				flag1=1;
				break;
			}
		}
	}
	else
		return 1;
	return flag1;
}
int main()
{
	int n,m,i,j,t,a[10000],flag1=0,k=0,count=0;
	scanf("%d %d",&n,&m);
	for(i=n;i<=m;i++)
	{
		flag1=sushu(i);
		if(flag1==0)
		{
			a[k]=i;
			k++;
		}
	}	
	for(i=0;i<=k;i++)
	{
		for(j=i;j<=k;j++)
		{
			for(t=j;t<=k;t++)
			{
					if((sushu(a[i]*a[j]+a[t])==0)&&(sushu(a[j]*a[t]+a[i])==0)&&(sushu(a[t]*a[i]+a[j])==0))
					count++;
			}
		}
	}
	printf("%d",count);
	return 0;
}

 

 7-10 机工士姆斯塔迪奥

在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。

你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。

给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。

输入格式:

输入第一行是三个整数 N,M,Q (1≤N×M≤105,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。

接下来 Q 行,每行两个数 Ti​,Ci​,其中 Ti​=0 表示 BOSS 选择的是一整行,Ti​=1 表示选择的是一整列,Ci​ 为选择的行号/列号。行和列的编号均从 1 开始。

输出格式:

输出一个数,表示安全格子的数量。

输入样例:

5 5 3
0 2
0 4
1 3

输出样例:

12
#include<stdio.h>
int flagr[100001]={0},flagc[100001]={0}; 
int main(){
    int n,m,q,Ti,Ci,r=0,c=0;
    scanf("%d%d%d",&n,&m,&q);
    while(q--){
        scanf("%d%d",&Ti,&Ci);
        if(Ti==0&&flagr[Ci]||Ti==1&&flagc[Ci])
             continue;   //如果是之前被攻击的行或者列就直接跳过
        if(Ti==0){
             r++;
             flagr[Ci]=1;             
        }
        else{
            c++;       //标记已经被攻击过了
            flagc[Ci]=1;
        }
    }    
    printf("%d",m*n-r*m-c*n+r*c);
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ctfshow web入门 XSS篇 web316-web333 详细题解 全

CTFshow XSS web316 是反射型 XSS 法一&#xff1a; 利用现成平台 法二&#xff1a; 自己搭服务器 先在服务器上面放一个接受Cookie的文件。 文件内容&#xff1a; <?php$cookie $_GET[cookie];$time date(Y-m-d h:i:s, time());$log fopen("cookie.txt"…

SSM - Springboot - MyBatis-Plus 全栈体系(十四)

第三章 MyBatis 二、MyBatis 基本使用 1. 向 SQL 语句传参 1.1 mybatis 日志输出配置 mybatis配置文件设计标签和顶层结构如下&#xff1a; configuration&#xff08;配置&#xff09; properties&#xff08;属性&#xff09;settings&#xff08;设置&#xff09;typeAl…

7、SpringBoot_高级配置

一、配置高级 1.临时属性设置 1.1引出问题 如果目标电脑上8080端口已经使用&#xff0c;再次使用该端口会出现端口占用问题 解决方式 重新更换配置文件修改端口打包通过临时属性配置新端口更换配置文件 1.2添加临时属性配置 通过临时属性修改8080端口 java -jar 项目.jar…

zemax目镜调焦演示

目镜的焦距应当是可变的&#xff0c;就像我们使用显微镜时&#xff0c;可以通过旋转调节旋钮&#xff0c;使得图像变得清晰&#xff0c;目镜的焦距也可以调整&#xff0c;使得要被观察的像出现在合适的位置。 这样&#xff0c;不同的人都可以使用同一台仪器&#xff0c;不管近…

Spring5应用之AOP额外功能详解

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 前言MethodBefore…

Doris数据库FE——启动流程源码详细解析

Doris中FE主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作。代码路径&#xff1a;doris/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java 环境检查 在启动FE的时候&#xff0c;主要做环境检查。检查一些启动时必要的环境变量以及初始化配置…

社区团购新零售搭伙拼团小程序源码(前后端)

社区团购新零售搭伙拼团小程序源码是一款非常实用的电商小程序&#xff0c;它包含了前后端文件&#xff0c; 可以快速地进行部署和使用。该小程序是基于微信小程序开发的&#xff0c;支持社区团购、新零售、搭伙拼团等多种功能。 该小程序具有良好的用户体验&#xff0c;包括…

范数Norm-衡量向量大小的方法

性质 非负性: 范数的值总是非负的,且当且仅当向量全为零时,范数的值为零。 齐次性: 对于任意实数α,有 三角不等式: 对于任意向量x和y,有 常见范数 L1: 向量所有元素绝对值的和,权重稀疏 L2:欧几里得范数,权重平滑 无穷范数:表示向量中最大的元素 为什么使用范…

英飞凌 Tricore 架构中断系统详解

本文以TC3系列MCU为例&#xff0c;先来了解中断源是如何产生的&#xff0c;再看一下CPU是如何处理中断源的。 AURIX TC3XX的中断路由模块 Interrupt Router (IR) 在TC3中&#xff0c;中断既可以被CPU处理&#xff0c;也可以被DMA处理&#xff0c;所以手册中不再把中断称为中断…

vue3硅谷甄选02 | 封装svg组件 - axios二次封装

文章目录 vue3硅谷甄选02功能1&#xff1a;封装svg组件SVG图标配置svg封装成组件svg组件注册为全局组件自定义统一注册全局组件的插件自定义插件的原理插件的使用 app.use(plugin, [options]) 功能2&#xff1a;axios二次封装使用mock插件构造数据axios二次封装api接口统一管理…

【大数据开发技术】实验01-Hadoop安装部署

文章目录 Hadoop安装部署一、实验目标二、实验要求三、实验内容四、实验步骤附&#xff1a;系列文章 Hadoop安装部署 虚拟机数量&#xff1a;3 系统版本&#xff1a;Centos 7.5 Hadoop版本&#xff1a; Apache Hadoop 2.7.3 主节点信息&#xff1a; 操作系统&#xff1a;Cen…

Tomcat 与 JDK 对应版本关系

对应关系 Tomcat版本 jdk版本11.0.x JDK 21及以后10.1.x JDK11及以后10.0.xJDK1.8及以后9.0.x JDK1.8及以后8.5.xJDK1.7及以后8.0.x JDK1.7及以后 查看对应关系方法&#xff1a; 登陆Tomcat官网&#xff1a;Apache Tomcat - Welcome! 结果&#xff1a;

Arthas:Java调试利器使用

Arthas:Java调试利器使用 1. Arthas是什么2. Arthas可以解决什么问题Arthas启动方式1. jar启动2. 在线安装 远程连接命令使用- 退出threadclassloaderscsm watchtrace修改日志级别 1. Arthas是什么 Arthas(阿尔萨斯)是阿里开源的一个Java在线分析诊断工具. 2. Arthas可以解决…

C#(CSharp)入门实践项目(简易回合制游戏)

项目名称 木木夕营救公主 项目介绍 这是一个小游戏&#xff0c;你将扮演一个英雄&#xff08;木木夕&#xff09;&#xff0c;去打败恶龙&#xff0c;拯救出公主&#xff0c;该项目采用回合制战斗模式&#xff0c;由于角色的血量和攻击为随机数&#xff0c;所以需要靠运气才…

YOLOv7改进:CBAM注意力机制

目录 1.介绍 1.1、论文的出发点 1.2、论文的主要工作 1.3、CBAM模块的具体介绍 2.YOLOv7改进 2.1yaml 配置文件如下 2.2common.py配置 2.3yolo.py配置 1.介绍 1.1、论文的出发点 cnn基于其丰富的表征能力&#xff0c;极大地推动了视觉任务的完成&#xff0c;为了提高…

【MySql】3- 实践篇(一)

文章目录 1. 普通索引和唯一索引的选择1.1 查询过程1.2 更新过程1.2.1 change buffer1.2.2 change buffer 的使用场景 1.3 索引选择和实践1.4 change buffer 和 redo log2. MySQL为何有时会选错索引?2.1 优化器的逻辑2.1.1 扫描行数是怎么判断的?2.1.2 重新统计索引信息 2.2 …

一站式吃鸡利器,提升游戏战斗力,助您稳坐鸡王宝座!

各位吃鸡玩家们&#xff0c;听说过绝地求生作图工具吗&#xff1f;想知道如何提高游戏战斗力、分享顶级作战干货、查询装备皮肤库存&#xff1f;还在为游戏账号安全而担心吗&#xff1f;别急&#xff0c;今天就为您介绍一款一站式吃鸡利器&#xff0c;满足您的所有需求&#xf…

【使用工具】IDEA创建类及已有类添加注释-详细操作

1.背景 很多开发好多时候其实不太会给类添加注释&#xff0c;尤其是已经有的类&#xff0c;上网查询&#xff0c;好多文档错误百出&#xff0c;而且不全 2.正文 2.1新建类添加注释 idea给新建类创建注释有两种方式 先写一个简单的模板 /** * description: TODO * autho…

kotlin协程CoroutineScope Dispatchers.IO launch 线程Id

kotlin协程CoroutineScope Dispatchers.IO launch 线程Id import kotlinx.coroutines.*fun main(args: Array<String>) {println("main 线程id:${Thread.currentThread().threadId()}")CoroutineScope(Dispatchers.IO).launch {println("launch 线程id:$…

【JVM】第二篇 JVM内存模型深度剖析与优化

目录 一. JDK体系结构与跨平台特性介绍二. JVM内存模型深度剖析三. 从Jvisualvm来研究下对象内存流转模型四. GC Root与STW机制五. JVM参数设置通用模型一. JDK体系结构与跨平台特性介绍 二. JVM内存模型深度剖析 按照线程是否共享来划分 TLAB(Thread Local Allocation Buffer…