算法
饭否君FF
每天都要坚持刷题,总结反思,加油加油加油!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
期末复习数据
数据库原创 2023-03-13 16:49:03 · 1302 阅读 · 1 评论 -
大三上算法习题
大三上期末老师给的算法习题,要认真把每个题都弄懂。原创 2022-12-20 03:00:40 · 1444 阅读 · 0 评论 -
PTA甲级每日更新 A1050 字符串减法
PTA甲级A1050 难度:简单原创 2022-07-17 03:16:27 · 213 阅读 · 0 评论 -
PTA甲级每日更新 A1036 男孩 vs 女孩
PTA甲级A1036 难度:简单原创 2022-07-17 02:28:04 · 608 阅读 · 0 评论 -
PTA甲级每日更新 A1035 密码
PTA甲级A1035 密码 难度:简单原创 2022-07-17 01:17:08 · 375 阅读 · 0 评论 -
PTA甲级每日更新 A1005 拼写正确
PTA甲级A1005 难度:简单原创 2022-07-16 23:46:00 · 150 阅读 · 0 评论 -
AT54割り切れる日付(整除日)
````java```java```java```java```javaimport java.util.Scanner;/* * 高桥君很喜欢“整除日”。“整除日”就是指日期中,年÷月÷日的值是整数的日期。比如说2012年5月2日这一天,因为2012÷5÷2=201.2,结果不是整数,所以这天不是“整除日”。因为高桥君实在太喜欢“整除日”了,总是盼着下一个“整除日”,所以他每天都要查一下今天是不是“整除日”。他还很想知道下一个“整除日”什么时候到来.原创 2022-04-10 11:07:31 · 749 阅读 · 0 评论 -
算法——快速幂
求一下2的100000000次方package _数学问题;public class _7快速幂运算详解 { public static void main(String[] args) { long now1=System.currentTimeMillis(); //求一下2的100000000次方 System.out.println(normalPower1(2,1000000000)); System.out.prin.原创 2022-03-31 16:18:02 · 604 阅读 · 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 · 276 阅读 · 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 · 318 阅读 · 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 · 428 阅读 · 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 · 448 阅读 · 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 · 232 阅读 · 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 · 145 阅读 · 0 评论 -
2421 Problem C 最快合并链表(线性表)
2421 Problem C 最快合并链表(线性表)题目描述知L1、L2分别为两循环单链表的头结点指针,m,n分别为L1、L2表中数据结点个数。要求设计一算法,用最快速度将两表合并成一个带头结点的循环单链表。输入m=53 6 1 3 5n=4.7 10 8 4输出3 6 1 3 5 7 10 8 4样例输入73 5 1 3 4 6 055 4 8 9 5样例输出3 5 1 3 4 6 0 5 4 8 9 5#include <cstdio>#inclu原创 2022-02-04 18:56:26 · 564 阅读 · 0 评论 -
1870 Problem B C语言-链表排序
1870 Problem B C语言-链表排序题目描述已有a、b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。输入第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成输出按照学号升序排列的数据样例输入2 35 1006 893 824 952 10样例输出2 103 824 955 1006 89#include <iostream>#inclu原创 2022-02-04 18:40:06 · 375 阅读 · 0 评论 -
1052 Linked List Sorting (25 分)
Sample Input:5 0000111111 100 -100001 0 2222233333 100000 1111112345 -1 3333322222 1000 12345Sample Output:5 1234512345 -1 0000100001 0 1111111111 100 2222222222 1000 3333333333 100000 -1知识点:链表//1052 Linked List Sorting(25 分)#include <.原创 2022-02-04 17:17:02 · 393 阅读 · 0 评论 -
1863 Problem A C语言-数字交换
题目描述输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。输入10个整数输出整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)样例输入2 1 3 4 5 6 7 8 10 9样例输出1 2 3 4 5 6 7 8 9 10注意点:最大的元素可能在第一个元素的位置,因此要进行特殊判断#include <iostream>#include <set>using n原创 2022-02-03 20:07:25 · 246 阅读 · 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 · 98 阅读 · 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 · 401 阅读 · 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 · 511 阅读 · 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 · 303 阅读 · 0 评论 -
专题:素数详解
1.素数的定义素数又称为质数,是指除了1和本身之外,不能被其它数整除的一类数。特别注意:1既不是素数也不是合数。2.判断素数一个整数要被判断是否是素数,需要判断n是否能被2,3,···,n-1中的一个整除。只有2,3,···,n-1都不能整除n,n才能判定为素数,而只要有一个能整除n的出现,n就可以判定为非素数。注意:用常规方法从2到n-1一个个除的复杂度是O(n),实际上在题目中是有点大的,由数学知识可知:只需要判定n能否被2,3,···,【sqrt(n)】整除即可判定。代码如下:bool i原创 2022-01-30 20:45:16 · 1494 阅读 · 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 · 238 阅读 · 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 · 114 阅读 · 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 · 682 阅读 · 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 · 206 阅读 · 0 评论
分享