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

第一题: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";elsecout << "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";elsecout << "quadrant 4";else if (y > 0)cout << "quadrant 2";elsecout << "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/2if(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;}}}elsereturn 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.xdnf.cn/news/143747.html

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

相关文章

计算机图像处理:图像轮廓

图像轮廓 图像阈值分割主要是针对图片的背景和前景进行分离&#xff0c;而图像轮廓也是图像中非常重要的一个特征信息&#xff0c;通过对图像轮廓的操作&#xff0c;就能获取目标图像的大小、位置、方向等信息。画出图像轮廓的基本思路是&#xff1a;先用阈值分割划分为两类图…

性能测试 —— 性能测试常见的测试指标 !

一、什么是性能测试 先看下百度百科对它的定义&#xff0c;性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 我们可以认为性能测试是&#xff1a;通过在测试环境下对系统或构件的性能进行探测&#xff0c;用以验证在生产环…

mysql面试题3:谈谈你知道的MySQL索引?MySQL中一个表可以创建多少个列索引?MySQL索引有哪几种?他们的优缺点是什么?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:谈谈你知道的MySQL索引? MySQL索引是一种特殊的数据结构,用于加速数据库的查询操作。它通过存储列值和对应记录的指针,可以快速定位到满足查询…

如果只是用php纯做api的话,给移动端做数据接口,是否需要用php框架?

API接口对接是现代软件开发中不可或缺的一部分&#xff0c;它允许不同的应用程序之间进行数据交换和服务调用。在PHP中&#xff0c;可以使用多种方式实现API接口的对接&#xff0c;包括基于HTTP协议的传统方法以及现代的API客户端库客户端库客户端库等。 一、实现API接口的对接…

【React】组件实例三大属性state、props、refs

state React 把组件看成是一个状态机&#xff08;State Machines&#xff09;。通过与用户的交互&#xff0c;实现不同状态&#xff0c;然后渲染 UI&#xff0c;让用户界面和数据保持一致。 React 里&#xff0c;只需更新组件的 state&#xff0c;然后根据新的 state 重新渲染用…

运行在浏览器中的Domino Designer开发客户机

大家好&#xff0c;才是真的好。 首先讨论一个非常有意思的事情&#xff0c;就是有人问&#xff0c;如果我用很老的Lotus软件&#xff0c;它是免费的吗&#xff1f; 这估计代表了很多盆友的心声。但不太友好的是&#xff0c;即使你用很老的Lotus软件&#xff08;例如Notes R4…

百度搜索逐步恢复优质网站权限

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 从9月25日开始&#xff0c;有越来越多的站长和卢松松反馈&#xff0c;说他们的站可以正常入驻百度搜索资源平台了。我也试了试卢松松博客&#xff0c;果然&#xff0c;可以正常提交了。还是以前的…

Redis 线程模式

Redis 是单线程吗&#xff1f; Redis 单线程指的是 [接收客户端请求 -> 解析请求 -> 进行数据读写操作 -> 发送数据给客户端] 这个过程是由一个线程 (主线程) 来完成的&#xff0c;这也是常说的 Redis 是单线程的原因。 但是 &#xff0c;Redis 程序不是单线程的&am…

已实现:关于富文本组件库vue2-editor的使用方法以及一些必要的注意事项,特别是设置完富文本以后的回显问题。以及在光标位置插入字符串等

前言 目前常见的基于vue的富文本编辑器有两个&#xff1a;“vue2-editor” 和 “vue-quill-editor” 都是用于Vue.js的富文本编辑器组件&#xff0c;它们具有一些共同的特点&#xff0c;但也有一些区别。 共同点&#xff1a; 1、富文本编辑功能&#xff1a; 两者都提供了富文…

Ubuntu安装Oracle JDK

文章目录 下载JDK安装Oracle JDK验证安装 下载JDK Oracle JDK需要从Oracle的官方网站下载&#xff0c;访问Oracle的官方网站并下载所需版本的JDK。 https://www.oracle.com/java/technologies/downloads/#java17 安装Oracle JDK 2.1. 下载.tar.gz文件后&#xff0c;移动到适…

el-tooltip内容换行显示

效果图&#xff1a; html: <div class"rules-tooltip flex-center"><el-tooltip class"item" effect"dark" placement"bottom-start"><div slot"content" v-html"tipsContent"></div>&l…

二维平面扭曲的python实现及思路

二维平面扭曲的python实现及思路 缘起原理实现代码 缘起 工作需要&#xff0c;需要一个尝试改变设备布点的方法&#xff0c;在csdn闲逛时&#xff0c;偶然间发现这样的一篇文章 二维扭曲&#xff0c;参考这位博主的文章&#xff0c;我对其内容进行复现和进一步挖掘。若有侵权或…

多维时序 | MATLAB实现WOA-CNN-LSTM-Attention多变量时间序列预测(SE注意力机制)

多维时序 | MATLAB实现WOA-CNN-LSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09; 目录 多维时序 | MATLAB实现WOA-CNN-LSTM-Attention多变量时间序列预测&#xff08;SE注意力机制&#xff09;预测效果基本描述模型描述程序设计参考资料 预测效果 基本描…

肖sir__mysql之综合题练习__013

数据库题&#xff08;10*5&#xff09; 下面是一个学生与课程的数据库&#xff0c;三个关系表为&#xff1a; 学生表S&#xff08;Sid&#xff0c;SNAME,AGE,SEX&#xff09; 成绩表SC&#xff08;Sid&#xff0c;Cid&#xff0c;GRADE&#xff09; 课程表C&#xff08;Cid&…

手机上记录的备忘录内容怎么分享到电脑上查看?

手机已经成为了我们生活中不可或缺的一部分&#xff0c;我们用它来处理琐碎事务&#xff0c;记录生活点滴&#xff0c;手机备忘录就是我们常用的工具之一。但随着工作的需要&#xff0c;我们往往会遇到一个问题&#xff1a;手机上记录的备忘录内容&#xff0c;如何方便地分享到…

OpenGLES:绘制一个颜色渐变的圆

一.概述 今天使用OpenGLES实现一个圆心是玫红色&#xff0c;向圆周渐变成蓝色的圆。 本篇博文的内容也是后续绘制3D图形的基础。 实现过程中&#xff0c;需要重点关注的点是&#xff1a;如何使用数学公式求得图形的顶点&#xff0c;以及加载颜色值。 废话不多说&#xff0c…

百度资源搜索平台出现:You do not have the proper credential to access this page.怎么办?

Forbidden site not allowed You do not have the proper credential to access this page. If you think this is a server error, please contact the webmaster. 如果你的百度资源平台&#xff0c;点进去出现这个提示&#xff0c;说明您的网站已经被百度清退了。如果你的网站…

美摄AIGC创新引擎,助力企业快速搭建AIGC能力(一)

AIGC作为当下最热的重要赛道&#xff0c;迅速在视频、图像、文案、绘画等生产创作领域出圈&#xff0c;吸引了百度、阿里、腾讯、谷歌等众多互联网大厂&#xff0c;纷纷布局和计划推出AIGC类的产品。 全新的视频内容生产方式&#xff0c;AIGC利用人工智能技术实现视频内容的自…

现代 GPU 容易受到新 GPU.zip 侧通道攻击

来自四所美国大学的研究人员开发了一种新的 GPU 侧通道攻击&#xff0c;该攻击利用数据压缩在访问网页时泄露现代显卡中的敏感视觉数据。 研究人员通过 Chrome 浏览器执行跨源 SVG 过滤器像素窃取攻击&#xff0c;证明了这种“ GPU.zip ”攻击的有效性。 研究人员于 2023 年 …