- 博客(6)
- 收藏
- 关注
原创 PTA 7-4 判断素数(一个坑)
问题描述本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231 的需要判断的正整数。输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。输入样例:211111输出样例:YesNo注意事项 本题要注意的是越界的问题,int 和 int 类型的做乘法会在一个int空间内进行,所以输出的数也是int类型的就是说 i * i 会越界,i * i越界后的值都将
2020-05-09 20:21:50
2666
原创 素数个数(线性筛法)
问题重述 给定一个正整数n,请你求出1~n中质数的个数。求解思路最朴素的做法 ps:朴素无华的解题方法虽然给人一种很 low 的感觉(好吧,实际上是真的 low),但是值的注意的是哪些完美的算法往往是对最朴素的算法进行优化得到的。也就是说,如果掌握了最朴素的方法剩下需要掌握的就是怎么去优化了。 最简单无华的做法莫过于直接 for 循环 for(int i = 1 ; ...
2020-04-05 20:51:38
303
原创 八数码问题(A*)
前言 本文采用BFS+堆优化+A*的方式来解决此问题(不足之处欢迎批评指正)问题重述输入格式输入占一行,将3×3的初始网格描绘出来。例如,如果初始网格如下所示:1 2 3x 4 67 5 8则输入为:1 2 3 x 4 6 7 5 8输出格式输出占一行,包含一个整数,表示最少交换次数。如果不存在解决方案,则输出”-1”。输入样例:2 3 4 1 ...
2020-03-30 22:21:58
1572
原创 全排列
练习编程有一段时间了,今天本来打算做个简单的放松一下,结果问题重述 输入一个数 n ,请给出 1 2 … n 的全排列基本思路 对于全排列而言毫无疑问的是我们要用递归的思想,就是说我们要找出在排列中原数列与子数列操作的共同点。基于此我们可以按照以下的思路来进行解答(假设数的个数为:n): (1) 让第一个数不同,得到n个数列。即把第一个数与后面的数进行互换1 2...
2020-03-28 00:03:57
117
原创 冒泡,快排
问题提出 请按从低到高的顺序排列下面的数据简单排序 我们先不去考虑所谓的算法,如果要对这一系列的数进行排序的话,你会怎么拍?首先不难想到的是我们可以先找到最小的数,然后把它放在前面。那么对于机器而言,我们要如何呢?我们可以每次都可以找到最小的数,然后把它放到我们创建的新的数组里面,这样的话空间复杂度是O(n+1)(+1是指在配对时存取值的临时变量),时间复杂度为O(n^2)。 紧接着我们...
2020-03-14 16:25:08
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人