<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Anthonyhaha的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Anthonyhaha</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Anthonyhaha]]></copyright><item><title><![CDATA[【C++】PTA 1087 有多少不同的值 (20 分）]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118764188</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118764188</guid><author>Anthonyhaha</author><pubDate>Thu, 15 Jul 2021 17:18:12 +0800</pubDate><description><![CDATA[1087 有多少不同的值 (20 分)

当自然数n依次取 1、2、3、……、N时，算式⌊n/2⌋+⌊n/3⌋+⌊n/5⌋有多少个不同的值？（注：⌊x⌋为取整函数，表示不超过x的最大自然数，即x的整数部分。）

输入格式：

输入给出一个正整数N（2≤N≤10​4​​）。

输出格式：

在一行中输出题面中算式取到的不同值的个数。

输入样例：


2017

输出样例：


1480


#include &lt;iostream&gt;
using namespace std...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1063 计算谱半径 (20 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118763818</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118763818</guid><author>Anthonyhaha</author><pubDate>Thu, 15 Jul 2021 17:04:39 +0800</pubDate><description><![CDATA[1063 计算谱半径 (20 分)

在数学中，矩阵的“谱半径”是指其特征值的模集合的上确界。换言之，对于给定的n个复数空间的特征值 {a​1​​+b​1​​i,⋯,a​n​​+b​n​​i}，它们的模为实部与虚部的平方和的开方，而“谱半径”就是最大模。

现在给定一些复数空间的特征值，请你计算并输出这些特征值的谱半径。

输入格式：

输入第一行给出正整数 N（≤10 000）是输入的特征值的个数。随后 N 行，每行给出 1 个特征值的实部和虚部，其间以空格分隔。注意：题目保证实部和虚部均为绝对...]]></description><category></category></item><item><title><![CDATA[2021-07-15]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118763605</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118763605</guid><author>Anthonyhaha</author><pubDate>Thu, 15 Jul 2021 16:58:49 +0800</pubDate><description><![CDATA[判断题的评判很简单，本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。

输入格式：

输入在第一行给出两个不超过 100 的正整数 N 和 M，分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数，是每道题的满分值。第三行给出每道题对应的正确答案，0 代表“非”，1 代表“是”。随后 N 行，每行给出一个学生的解答。数字间均以空格分隔。

输出格式：

按照输入的顺序输出每个学生的得分，每个分数占一行。

输入样例：


3 6
2 1 3 3 4 5
0 0 1 0 1 1
]]></description><category></category></item><item><title><![CDATA[1021 C++]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118762976</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118762976</guid><author>Anthonyhaha</author><pubDate>Thu, 15 Jul 2021 16:42:42 +0800</pubDate><description><![CDATA[代码实现：


#include &lt;iostream&gt;
using namespace std;
int main() {
	string s;
	cin&gt;&gt;s;
	int a[10];
	for(int i=0; i&lt;10; i++)
		a[i]=0;
	for(int i=0; i&lt;s.length(); i++) {
		a[s[i]-'0']++;
	}
	for(int i=0; i&lt;10; i++) {
		if(a[i]&gt;0)
		cout&.]]></description><category></category></item><item><title><![CDATA[1016 C++]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118762517</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118762517</guid><author>Anthonyhaha</author><pubDate>Thu, 15 Jul 2021 16:31:01 +0800</pubDate><description><![CDATA[1016 部分A+B (15 分)

正整数A的“D​A​​（为 1 位整数）部分”定义为由A中所有D​A​​组成的新整数P​A​​。例如：给定A=3862767，D​A​​=6，则A的“6 部分”P​A​​是 66，因为A中有 2 个 6。

现给定A、D​A​​、B、D​B​​，请编写程序计算P​A​​+P​B​​。

输入格式：

输入在一行中依次给出A、D​A​​、B、D​B​​，中间以空格分隔，其中0&lt;A,B&lt;10​9​​。

输出格式：

在一...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1046 划拳 (15 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118739800</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118739800</guid><author>Anthonyhaha</author><pubDate>Wed, 14 Jul 2021 23:14:48 +0800</pubDate><description><![CDATA[划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为：每人口中喊出一个数字，同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和，谁就赢了，输家罚一杯酒。两人同赢或两人同输则继续下一轮，直到唯一的赢家出现。

下面给出甲、乙两人的划拳记录，请你统计他们最后分别喝了多少杯酒。

输入格式：

输入第一行先给出一个正整数N（≤100），随后N行，每行给出一轮划拳的记录，格式为：


甲喊 甲划 乙喊 乙划

其中喊是喊出的数字，划是划出的数字，均为不超过 100 的正整数（两只...]]></description><category></category></item><item><title><![CDATA[【C++】PTA1047 编程团体赛 (20 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118736659</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118736659</guid><author>Anthonyhaha</author><pubDate>Wed, 14 Jul 2021 20:33:31 +0800</pubDate><description><![CDATA[1047 编程团体赛 (20 分)

编程团体赛的规则为：每个参赛队由若干队员组成；所有队员独立比赛；参赛队的成绩为所有队员的成绩和；成绩最高的队获胜。

现给定所有队员的比赛成绩，请你编写程序找出冠军队。

输入格式：

输入第一行给出一个正整数N（≤10​4​​），即所有参赛队员总数。随后N行，每行给出一位队员的成绩，格式为：队伍编号-队员编号 成绩，其中队伍编号为 1 到 1000 的正整数，队员编号为 1 到 10 的正整数，成绩为 0 到 100 的整数。

输出格式：

在一行中输出冠军队...]]></description><category></category></item><item><title><![CDATA[【自看】集合一下]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118671248</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118671248</guid><author>Anthonyhaha</author><pubDate>Mon, 12 Jul 2021 11:27:19 +0800</pubDate><description><![CDATA[这道不po代码上来了，因为我不会，看了好多优秀代码复刻出来了，掌握方法之后代码内容好像差不多。

写下我学的几个点。

1、输入用到getline函数

作用：可以读取整段输入。

cin不能接收空格、制表，换行这些空白符。


    string str;
	getline(cin,str);

2、统计字符出现的频率

用的是数组内存储的值-'A'，-'Z'来转为一个整数（ASC码）可以用来比较大小，频率就用++再叠加起来

（例：小写字母的频率统计用到这种方式。


		if(str[i] &gt;]]></description><category></category></item><item><title><![CDATA[【C++】PTA1041 考试座位号 (15 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118662476</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118662476</guid><author>Anthonyhaha</author><pubDate>Sun, 11 Jul 2021 23:57:59 +0800</pubDate><description><![CDATA[每个 PAT 考生在参加考试时都会被分配两个座位号，一个是试机座位，一个是考试座位。正常情况下，考生在入场时先得到试机座位号码，入座进入试机状态后，系统会显示该考生的考试座位号码，考试时考生需要换到考试座位就座。但有些考生迟到了，试机已经结束，他们只能拿着领到的试机座位号码求助于你，从后台查出他们的考试座位号码。

输入格式：

输入第一行给出一个正整数N（≤1000），随后N行，每行给出一个考生的信息：准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成，座位从 1 到N编号。输入...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1006 换个格式输出整数 (15 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118661044</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118661044</guid><author>Anthonyhaha</author><pubDate>Sun, 11 Jul 2021 22:17:10 +0800</pubDate><description><![CDATA[让我们用字母B来表示“百”、字母S表示“十”，用12...n来表示不为零的个位数字n（&lt;10），换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234，因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式：

每个测试输入包含 1 个测试用例，给出正整数n（&lt;1000）。

输出格式：

每个测试用例的输出占一行，用规定的格式输出n。

输入样例 1：


234

输出样例 1：


BBSSS1234

输入样例 2：


...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1036 跟奥巴马一起编程 (15 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118643267</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118643267</guid><author>Anthonyhaha</author><pubDate>Sun, 11 Jul 2021 00:15:27 +0800</pubDate><description><![CDATA[美国总统奥巴马不仅呼吁所有人都学习编程，甚至以身作则编写代码，成为美国历史上首位编写计算机代码的总统。2014 年底，为庆祝“计算机科学教育周”正式启动，奥巴马编写了很简单的计算机代码：在屏幕上画一个正方形。现在你也跟他一起画吧！

输入格式：

输入在一行中给出正方形边长N（3≤N≤20）和组成正方形边的某种字符 C，间隔一个空格。

输出格式：

输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大，所以为了让结果看上去更像正方形，我们输出的行数实际上是列数的 50%（四舍五入取整）。

输入.]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1008 数组元素循环右移问题 (20 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118634824</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118634824</guid><author>Anthonyhaha</author><pubDate>Sat, 10 Jul 2021 14:29:21 +0800</pubDate><description><![CDATA[一个数组A中存有N（&gt;0）个整数，在不允许使用另外数组的前提下，将每个整数循环向右移M（≥0）个位置，即将A中的数据由（A​0​​A​1​​⋯A​N−1​​）变换为（A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​）（最后M个数循环移至最前面的M个位置）。如果需要考虑程序移动数据的次数尽量少，要如何设计移动的方法？

输入格式:

每个输入包含一个测试用例，第1行输入N（1≤N≤100）和M（≥0）；第2行输入N个整数，之间用空格分隔。

输出格式:

在一行中输出循环右移M位以]]></description><category></category></item><item><title><![CDATA[【C++】PTA1010一元多项式求导]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118619322</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118619322</guid><author>Anthonyhaha</author><pubDate>Sat, 10 Jul 2021 01:32:28 +0800</pubDate><description><![CDATA[设计函数求一元多项式的导数。（注：x​n​​（n为整数）的一阶导数为nx​n−1​​。）

输入格式:

以指数递降方式输入多项式非零项系数和指数（绝对值均为不超过 1000 的整数）。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔，但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0，但是表示为0 0。

输入样例:


3 4 -5 2 6 1 -2 0

输出样例:


12 3 -10 1 6 0

代码实现


#include &.]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1011A+B和C]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118618777</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118618777</guid><author>Anthonyhaha</author><pubDate>Sat, 10 Jul 2021 01:09:47 +0800</pubDate><description><![CDATA[1011 A+B 和 C (15 分)

给定区间 [−2​31​​,2​31​​] 内的 3 个整数A、B和C，请判断A+B是否大于C。

输入格式：

输入第 1 行给出正整数T(≤10)，是测试用例的个数。随后给出T组测试用例，每组占一行，顺序给出A、B和C。整数间以空格分隔。

输出格式：

对每组测试用例，在一行中输出Case #X: true如果A+B&gt;C，否则输出Case #X: false，其中X是测试用例的编号（从 1 开始）。

输入样例：

...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1027打印沙漏]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118616361</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118616361</guid><author>Anthonyhaha</author><pubDate>Fri, 09 Jul 2021 23:14:29 +0800</pubDate><description><![CDATA[1027 打印沙漏 (20 分)

本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”，要求按下列格式打印


*****
 ***
  *
 ***
*****

所谓“沙漏形状”，是指每行输出奇数个符号；各行符号中心对齐；相邻两行符号数差2；符号数先从大到小顺序递减到1，再从小到大顺序递增；首尾符号数相等。

给定任意N个符号，不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

输入格式:

输入在一行给出1个正整数N（≤1000）和一个符号，中间以空格分隔。

输出格]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1026程序运行时间]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118585196</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118585196</guid><author>Anthonyhaha</author><pubDate>Fri, 09 Jul 2021 00:02:27 +0800</pubDate><description><![CDATA[1026 程序运行时间 (15 分)

要获得一个 C 语言程序的运行时间，常用的方法是调用头文件 time.h，其中提供了 clock() 函数，可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick，即“时钟打点”。同时还有一个常数 CLK_TCK，给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间，我们只要在调用f之前先调用 clock()，获得一个时钟打点数 C1；在f执行完成后再调用 clock()，获得另一个时钟打点数 ...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1023 组个最小数 (20 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118495896</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118495896</guid><author>Anthonyhaha</author><pubDate>Mon, 05 Jul 2021 18:31:13 +0800</pubDate><description><![CDATA[1023 组个最小数 (20 分)

给定数字 0-9 各若干个。你可以以任意顺序排列这些数字，但必须全部使用。目标是使得最后得到的数尽可能小（注意 0 不能做首位）。例如：给定两个 0，两个 1，三个 5，一个 8，我们得到的最小的数就是 10015558。

现给定数字，请编写程序输出能够组成的最小的数。

输入格式：

输入在一行中给出 10 个非负整数，顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50，且至少拥有 1 个非 0 的数字.]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1002 写出这个数 (20 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118489171</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118489171</guid><author>Anthonyhaha</author><pubDate>Mon, 05 Jul 2021 14:47:33 +0800</pubDate><description><![CDATA[1002 写出这个数 (20 分)

读入一个正整数n，计算其各位数字之和，用汉语拼音写出和的每一位数字。

输入格式：

每个测试输入包含 1 个测试用例，即给出自然数n的值。这里保证n小于10​100​​。

输出格式：

在一行内输出n的各位数字之和的每一位，拼音数字间有 1 空格，但一行中最后一个拼音数字后没有空格。

输入样例：


1234567890987654321123456789

输出样例：


yi san wu

代码实现：

———————————————————...]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1004 成绩排名 (20 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118486488</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118486488</guid><author>Anthonyhaha</author><pubDate>Mon, 05 Jul 2021 11:39:38 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
using namespace std;

struct student
{
	string name;
	string number;
	int score;
}; 
int main()
{
	int n;
	cin&gt;&gt;n;
	int max,min=0; //保存最高分和最低分的数组下标 
	struct student arr[n]; 
	for(int i=0;i&lt;n;i++)
	{
		cin&gt;&gt;arr[i].n.]]></description><category></category></item><item><title><![CDATA[【C++】PTA 1001 害死人不偿命的(3n+1)猜想 (15 分)]]></title><link>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118461047</link><guid>https://blog.youkuaiyun.com/Anthonyhaha/article/details/118461047</guid><author>Anthonyhaha</author><pubDate>Sun, 04 Jul 2021 13:03:36 +0800</pubDate><description><![CDATA[宛如重头开始学C++

努力完成乙级题目，希望有所收获。

——————————————————————

1001 害死人不偿命的(3n+1)猜想 (15 分)

卡拉兹(Callatz)猜想：

对任何一个正整数n，如果它是偶数，那么把它砍掉一半；如果它是奇数，那么把(3n+1)砍掉一半。这样一直反复砍下去，最后一定在某一步得到n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想，传说当时耶鲁大学师生齐动员，拼命想证明这个貌似很傻很天真的命题，结果闹得学生们无心学业，一心只证(3n+...]]></description><category></category></item></channel></rss>