PTA 集训1 题解

L1-1 新世界


  • 建议时间:1分钟

  • 题面:

    这道超级简单的题目没有任何输入。
    你只需要在第一行中输出程序员钦定名言“Hello World”,并且在第二行中输出更新版的“Hello New World”就可以了。

    完整代码
    #include<iostream>
    using namespace std;
    int main(){cout << "Hello World\nHello New World";return 0;
    }
    

L1-2 打折


  • 建议时间:1分钟

  • 题面:

    去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。

  • 解题思路:

    注意输入为两个整数,做除法时需要除以 10.0 才会得到浮点数结果。

    保留两位小数用 printf 自带的格式化输出 %.2lf 即可。

    完整代码
    #include<iostream>
    using namespace std;
    int main(){int a,b; cin>> a>>b;printf("%.2lf",a*b/10.0);return 0;
    }
    

L1-3 奇偶分家


  • 建议时间:2分钟

  • 题面:

    给定N个正整数,请统计奇数和偶数各有多少个?

  • 解题思路:

    一边输入一边统计奇数与偶数的个数,最后直接输出即可

    x&1 可以得到 x 的末位,等同于 x%2

    完整代码
    #include<iostream>
    using namespace std;
    int main(){int n,odd=0,even=0; cin >> n;while(n--){int x; cin >> x;if(x&1) odd++;else even++;}cout << odd << ' ' << even;return 0;
    }
    

L1-4 冠军魔术


  • 推荐时间:4分钟

  • 题面:

    以桌面上一根带子为界,当他将纸牌从带子的一边推到另一边时,纸牌会变成硬币;把硬币推回另一边会变成纸牌。

    这里我们假设纸牌会变成等量的硬币,而硬币变成纸牌时,纸牌的数量会加倍。那么给定纸牌的初始数量,当他来回推了 N 次(来/回各算一次)后,手里拿的是纸牌还是硬币?数量是多少?

    这里假设初始状态下魔术师手里全是纸牌。如果最后魔术师手里是纸牌,输出 0 和纸牌数量;如果是硬币,则输出 1 和硬币数量。数字间须有 1 个空格。题目保证结果数值不超出整型范围(即 2^31 −1)。

  • 解题思路:

    由于初始为纸牌,且只有从硬币推回纸牌时数量才会翻倍,所以推 n 次的翻倍次数为 n/2,即 n 除以 2 向下取整。那么最后手中的物品数量就为 初始数量 * 2^(n/2)

    若推的次数为奇数,最后为硬币;反之,最后为纸牌,输出即可。

    由于本题保证了数值不超过整形范围,代表翻倍的次数很小,那么我们直接循环 n 次没次乘 2 即可。

    完整代码
    #include<iostream>
    using namespace std;
    int main(){int st,n; cin >> st >> n;for(int i=1;i<=n/2;i++) st*=2;printf("%d %d",n&1,st);		// n为奇数时为硬币,为硬币时输出1return 0;
    }
    

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[BJDCTF2020]Easy MD5

[BJDCTF2020]Easy MD5一个输入框,无论输入什么都没有回显,使用yakit抓包看看根据返回的数据包可以得知其sql查询语句,我们需要尝试绕过查询语句来获得线索,md5()函数中$pass参数为输入的参数,而true代表一种模式,将字符串md5哈希后转化为二进制类型 MD5语法 标准格式 md5…

【多线程】volatile关键字详解

volatile的作用volatile主要用于解决可见性和有序性的问题,但不保证原子性可见性:线程在操作变量时,会将主存中的变量拷贝一份到本地存储;修改有再找时机写回主存(不可控),这样多线程并发时会导致其他线程看到的数据和当前线程不一致 使用volatile关键字修饰变量,可使得每…

WiFiGrab教程2:一键抓包5G并使用字典破解全流程

本文使用WiFiGrab抓取5G无线网络的握手包,实验对象为自己的路由器,并结合EWSA进行字典攻击,演示暴力破解的原理和全流程操作。WiFiGrab抓包5G 本文使用WiFiGrab抓取5G无线网络的握手包,实验对象为自己的路由器,并结合EWSA进行字典攻击,演示暴力破解的原理和全流程操作。软…

phylip 中利用NJ法构建进化树

001、测试文件vcf文件(base) [b20223040323@admin2 02_NJ_tree]$ ls outcome.vcf 002、格式转换;输入文件为vcf文件run_pipeline.pl -Xms1G -Xmx5G -importGuess outcome.vcf -ExportPlugin -saveAs sequences.phy -format Phylip_Inter ## 格式转换 003、

vue的深度学习

vue的深度学习 本次学习了vue脚手架的知识,使用的是选项api,初步分析 对于脚手架目录进行简单分析 src:用于存放源码,我们一般写代码的地方,其中的app.vue是根组件,components中存放其他组件,其他组件可以加到根组件下方 <template><div class="fullName"&g…

代码随想录算法训练营day23 | 39. 组合总和、40.组合总和II、131.分割回文串

组合总和点击查看代码 class Solution { public:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& candidates, int &target, int sum, int startIndex) {//由于for循环条件已经提前做了递归终止判断,故这里不用…

2023-3-5-ai试用

今天使用了ai来做简单的项目,这是我发给ai的话语这是相应的结构图,按照ai的回答做出,相应的依赖我们能够实现登录以及相应的查询,不过也有一些数据取不到,有一些bug,其他功能代码ai没有给出,需要我们进一步索要,不过也能看出ai是可以用于做项目了

车辆运维管理行业洞察与竞品分析

1. 前言 车辆运维管理是指对车辆进行日常维护、故障处理、性能监测、成本控制等一系列活动的管理。随着物联网、大数据、人工智能等技术的发展,车辆运维管理软件和解决方案的市场竞争日益激烈。 2. 确定目标通过产品差异化定位,找到竞争者的差异,打造自己的优势,抢占市场份…

go语言实现终端里的倒计时

最近在更新系统的时候发现pacman的命令行界面变了,我有很久没更新过设备上的Linux系统了,所以啥时候变的不好说。但这一变化成功勾起了我的好奇心。新版的更新进度界面如下:新的更新进度界面能同时显示多个进度条,而且并没有依靠ncurses这个传统的TUI库。为啥我能断定没有用…

备份是个好习惯

题目环境启动以后页面回显了一行字符串,丢进随波逐流里面以后发现解密不出来,如果有知道的大佬辛苦留言一下没啥思路,想到题目名字叫备份是个好习惯,说不定网页目录下真有bak文件,于是就拿御剑扫描一下扫完以后还真有打开以后就是这样一段代码点击查看代码 接下来就是代码…

使用 Net 处理 Excel 文件的时间列

前言最近,处理Excel的情况比较多,然后,就碰到了时间列,读取出来时中文,保存到数据库中着实麻烦,就找了下如何解决这个问题。正文1.这是读取Excel时候,调试的时候,时间列的格式,如下图:2.分享下原始读取Excel的公共方法,其实,也只能说这个方法写的有问题,所有列都按…