![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
饭否君FF
每天都要坚持刷题,总结反思,加油加油加油!
展开
-
PTA甲级每日更新 A1050 字符串减法
PTA甲级A1050 难度:简单原创 2022-07-17 03:16:27 · 157 阅读 · 0 评论 -
PTA甲级每日更新 A1036 男孩 vs 女孩
PTA甲级A1036 难度:简单原创 2022-07-17 02:28:04 · 485 阅读 · 0 评论 -
PTA甲级每日更新 A1035 密码
PTA甲级A1035 密码 难度:简单原创 2022-07-17 01:17:08 · 304 阅读 · 0 评论 -
PTA甲级每日更新 A1005 拼写正确
PTA甲级A1005 难度:简单原创 2022-07-16 23:46:00 · 103 阅读 · 0 评论 -
PTA甲级每日更新A1001 A+B格式
PTA甲级题解初学算法原创 2022-07-16 22:49:31 · 674 阅读 · 0 评论 -
数据结构学习与实验指导(第二版)——第一章
第一章 算法与复杂度基础实验1-2.1有序数组的插入**1.实验内容:**本题要求将任一给定元素插入从大到小排好序的数组中合适的位置,以保持结果依然有序。2.实验要求:函数接口定义:bool Insert( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode List;struct LNode {ElementType Data[MAXSIZE];Position Last; /原创 2022-03-18 13:00:29 · 196 阅读 · 0 评论 -
5972 Problem A【递归入门】全排列
5972 Problem A【递归入门】全排列题目描述排列与组合是常用的数学方法。 先给一个正整数 ( 1 < = n < = 10 ) ,例如n=3,所有组合,并且按字典序输出:1 2 31 3 22 1 32 3 13 1 23 2 1输入输入一个整数n( 1<=n<=10)输出输出所有全排列每个全排列一行,相邻两个数用空格隔开(最后一个数后面没有空格)样例输入3样例输出1 2 31 3 22 1 32 3 13 1 23 2 1原创 2022-02-05 22:29:20 · 234 阅读 · 0 评论 -
背包问题(三):多重背包
样例输入5 100080 20 440 50 930 50 740 30 620 20 1样例输出1040#include <iostream>using namespace std;int w[510], c[510], s[510],dp[6010];int main() { int m, n; cin >> m >> n; for (int i = 1;i <= m;i++) { cin >> w[i] &g.原创 2022-02-05 10:58:02 · 272 阅读 · 0 评论 -
背包问题(二):完全背包
解法一:复杂度较大,有三个for循环#include <iostream>using namespace std;int w[50], c[50], dp[210];int main() { int m, n; cin >> m >> n; for (int i = 1;i <= n;i++) { cin >> w[i] >> c[i]; } for (int i = 1;i <= n;i++) for (.原创 2022-02-05 10:04:34 · 382 阅读 · 0 评论 -
背包专题(一):01背包问题
T1267-01背包问题时间限制: 1Sec 内存限制: 128MB 提交: 759 解决: 294样例输入10 42 13 34 57 9样例输出12解法一:#include<iostream>#include <cstdio>//0/1 背包问题using namespace std;int dp[35][205];int w[35];int c[205];int main() { int m, n; cin >> m &原创 2022-02-05 08:40:15 · 365 阅读 · 0 评论 -
问题E:2-24 单链表反转
题目描述根据一个整数序列构造一个单链表,然后将其反转。例如:原单链表为 2 3 4 5 ,反转之后为5 4 3 2输入输入包括多组测试数据,每组测试数据占一行,第一个为大于等于0的整数n,表示该单链表的长度,后面跟着n个整数,表示链表的每一个元素。整数之间用空格隔开输出针对每组测试数据,输出包括两行,分别是反转前和反转后的链表元素,用空格隔开如果链表为空,则只输出一行,list is empty样例输入5 1 2 3 4 5 0样例输出1 2 3 4 5 5 4 3 2 1 l原创 2022-02-04 20:47:54 · 176 阅读 · 0 评论 -
2453 Problem D 链表查找(线性表)
题目描述线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法完成:(1) 用最少时间在表中查找数值为x的元素。(2) 若找到将其与后继元素位置相交换。(3) 若找不到将其插入表中并使表中元素仍递增有序。输入输入:x=3输入长度:9输入数据:2 3 5 7 12 15 17 23 45输出相同元素为:3交换后的链表为:2 5 3 7 12 15 17 23 45样例输入492 3 5 7 12 15 17 23 45样例输出no2 3原创 2022-02-04 19:41:38 · 97 阅读 · 0 评论 -
1949 Problem A a+b
Contest100000593 - 《算法笔记》5.6小节——数学问题->大整数运算题目描述实现一个加法器,使其能够输出a+b的值。输入输入包括两个数a和b,其中a和b的位数不超过1000位。输出可能有多组测试数据,对于每组数据,输出a+b的值。样例输入6 82000000000 30000000000000000000样例输出1430000000002000000000#include <iostream>#include <cstdio>原创 2022-02-02 01:02:46 · 60 阅读 · 0 评论 -
1783 Problem A 完数
题目描述求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。输入测试数据有多组,输入n,n数据范围不大。输出对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。样例输入6样例输出6...原创 2022-02-01 20:27:14 · 360 阅读 · 0 评论 -
1059 Prime Factors (25 分)
Sample Input:97532468Sample Output:97532468=2^2*11*17*101*1291#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const int maxn = 100010;bool isPrime(int n) { if (n <= 1) re.原创 2022-01-31 01:41:03 · 479 阅读 · 0 评论 -
1946 Problem B Prime Number
题目描述Output the k-th prime number.输入k≤10000输出The k-th prime number.样例输入1050样例输出29229#include <iostream>//用素数筛法using namespace std;const int maxn = 100001;int prime[maxn], pNum = 0;bool p[maxn] = { 0 };void Find_Prime() { for (int原创 2022-01-30 22:27:46 · 261 阅读 · 0 评论 -
1067 Problem A
题目描述我们定义如下矩阵:1/1 1/2 1/31/2 1/1 1/21/3 1/2 1/1矩阵对角线上的元素始终是1/1,对角线两边分数的分母逐个递增。请求出这个矩阵的总和。输入输入包含多组测试数据。每行给定整数N(N<50000),表示矩阵为N*N。当N=0时,输入结束。输出输出答案,结果保留2位小数。样例输入12340样例输出1.003.005.678.83#include <iostream>#include <cstdio&原创 2022-01-30 16:57:42 · 200 阅读 · 0 评论 -
求最大公约数和最小公倍数
最大公约数#include<cstdio>int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b);}int main() { int m, n; while (scanf_s("%d%d", &m, &n) != EOF) { printf("%d\n", gcd(m,n)); } return 0;}最小公倍数题目:2136 Problem A Least C原创 2022-01-30 15:34:29 · 74 阅读 · 0 评论 -
Problem D abc
题目描述设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。输入题目没有任何输入。输出请输出所有满足题目条件的a、b、c的值。a、b、c之间用空格隔开。每个输出占一行。#include <iostream>using namespace std;int main() { int a, b, c; for(a=1;a<9;a++) for(b=1;b<9;b++) for (c原创 2022-01-29 03:12:49 · 51 阅读 · 0 评论 -
1957 Problem C 百鸡问题
题目描述用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。输入测试数据有多组,输入n。输出对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。样例输入45样例输出x=0,y=0,z=100x=0,y=1,z=99x=0,y=2,z=98x=0,y=3,z=97x=0,y=4,z=96x=1,y=0,z=99x=1,y=1,z=98x=1,y=2,z=97x=原创 2022-01-29 02:42:48 · 170 阅读 · 0 评论 -
问题 B: 反序数
题目描述设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值输入程序无任何输入数据。输出输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。#include <iostream>#include <algorithm>using namespace std;int main() { int num, num1, a, b, c, d,a1,b1,c1,d1; for (num = 1000;num <原创 2022-01-29 02:17:19 · 540 阅读 · 0 评论 -
问题 A: 守形数
题目描述守形数是这样一种整数,它的平方的低位部分等于它本身。比如25的平方是625,低位部分是25,因此25是一个守形数。编一个程序,判断N是否为守形数。输入输入包括1个整数N,2<=N<100。输出可能有多组测试数据,对于每组数据,输出”Yes!”表示N是守形数。输出”No!”表示N不是守形数。样例输入611样例输出Yes!No!#include<iostream>using namespace std;int main() { int n原创 2022-01-29 01:59:37 · 172 阅读 · 0 评论 -
问题 A: 求第k大数
题目描述求第k大的数给定一个长度为n(1≤n≤1,000,000)的无序正整数序列,以及另一个数k(1≤k≤1,000,000)(关于第k大的数:例如序列{1,2,3,4,5,6}中第3大的数是4。)输入第一行两个正整数m,n。第二行为n个正整数。输出第k大的数。样例输入6 31 2 3 4 5 6样例输出4这道题用的快速排序,代码有参考别人https://blog.csdn.net/weixin_44774255/article/details/107887995#incl原创 2022-01-29 00:38:32 · 173 阅读 · 0 评论 -
问题 C: 查找
题目描述输入数组长度 n输入数组 a[1…n]输入查找个数m输入查找数字b[1…m]输出 YES or NO 查找有则YES 否则NO 。输入输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。输出如果在n个数组中输出YES否则输出NO。样例输入63 2 5 4 7 823 6样例输出YESNO思路:用二分查找#include <iostream>#include <algo原创 2022-01-27 17:36:30 · 204 阅读 · 0 评论 -
问题 A: 找x
问题 A: 找x题目描述输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出对于每组输入,请输出结果。样例输入41 2 3 43样例输出2#include <iostream>using namespace std;int main() { int n,x; cin >> n; in原创 2022-01-27 15:23:35 · 159 阅读 · 0 评论 -
问题 B: 出租车费
题目描述某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。现在给你整个行程的公里数,请你计算坐出租车的最小花费。输入输入包含多组测试数据。每组输入一个正整数n(n<1000000原创 2022-01-27 07:09:59 · 182 阅读 · 0 评论 -
问题 A: 看电视
贪心算法题目描述暑假到了,小明终于可以开心的看电视了。但是小明喜欢的节目太多了,他希望尽量多的看到完整的节目。现在他把他喜欢的电视节目的转播时间表给你,你能帮他合理安排吗?输入输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示小明喜欢的节目的总数。接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个节目的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。当n=0时,输入结束。输出对于每组输入,输出能完整看到的电视节目的个数。原创 2022-01-27 06:19:15 · 69 阅读 · 0 评论 -
PAT B1020月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。输入格式原创 2022-01-24 02:07:09 · 40 阅读 · 0 评论 -
2044 Problem C 神奇的口袋
问题 C: 神奇的口袋题目描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别原创 2022-01-24 01:21:43 · 49 阅读 · 0 评论 -
Codeup Problem B 数列
问题 B: 数列题目描述编写一个求斐波那契数列的递归函数,输入n 值,使用该递归函数,输出如下图形(参见样例)。输入输入第一行为样例数m,接下来有m行每行一个整数n,n不超过10。输出对应每个样例输出要求的图形(参见样例格式)。样例输入16样例输出#include <iostream>#include <fstream>#include <string>using namespace std;const int MaxN = 20;i原创 2022-01-24 01:02:56 · 189 阅读 · 0 评论 -
Codeup 1907 Problem A 吃糖果
问题 A: 吃糖果题目描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果N原创 2022-01-24 00:23:35 · 81 阅读 · 0 评论 -
数据结构——链表(慕课笔记)
数据结构我们学校这个寒假要求提前预习,推荐课程是浙江大学的数据结构,这个之前有看了第一单元,但由于大一水平有限,再加上自已意志力不足,看到第二单元有些看不懂就放弃了。现在大二了,现在是2022年1月18号,我从第二单元开始看的,现在每天在CSDN上做做笔记,以便以后复习。线性表的抽象数据类型描述初始化一个空线性表L根据位序K,返回相应元素在线性表L中查找X的第一次出现的位置在位序i前插入一个新元素X删除指定位序i的元素返回线性表L的长度n第一种 数组存储1.初始化List MakeE原创 2022-01-18 10:31:44 · 260 阅读 · 0 评论 -
C语言期末考试
PTA C语言期末考试(2021/7/6) 一. 编程题 7.1 简单求阶乘问题 7.2 求n以内最大的k个素数以及它们的和 7.3 求整型数组前n个数中正数之和 7-4 学分统计7.1 简单求阶乘问题#include <stdio.h>int main(){ int n,i; int s=1; scanf("%d",&n);原创 2021-08-26 13:46:03 · 1636 阅读 · 0 评论 -
字符串P型编程
解法一:C语言写的#include <stdio.h>#include <string.h>int main(){ char str[1005]={0}; char e; int cnt=0; gets(str); e=str[0]; int i; for(i=0;str[i]!='\0';i++){ if(str[i]!=e){ printf("%d%c",cnt,e); e=str[i]; cnt=1; }else{ cnt+原创 2021-08-22 03:49:31 · 270 阅读 · 0 评论 -
N进制转换成十进制,十进制转换成N进制
#include <iostream>#include <cstring>#include <cmath>using namespace std;int nToTen(int n,char num[]){ int len = strlen(num); int ten = 0; int cf=1; for(int i=len-1,k=0;i>=0;i--,k++){ //1.字符1~9转换成数字 if(原创 2021-08-18 03:15:16 · 203 阅读 · 0 评论 -
03 常量:宏定义和const
常量:用于记录程序中不可更改的数据1.#define 宏常量格式:#define 常量名 常量值2.const修饰的变量 const 数据类型 常量名 = 常量值#include <iostream>using namespace std;#define Day 7int main(){ cout << "一周总共有: " << Day << "天" << endl; const int month =原创 2021-07-19 11:39:54 · 138 阅读 · 0 评论 -
01 C++ 书写hello world
#include <iostream>using namespace std;int main(){ cout << "hello world" << endl; system("pause"); return 0;}原创 2021-07-19 10:37:58 · 95 阅读 · 0 评论