算法
文章平均质量分 65
踏雪无痕是个小疯子
不定期发布C语言、Matlab、Python、Raptor相关博客。
Raptor问题加群:513771532
展开
-
Raptor-冒泡排序法
1.问题描述对20个20到100范围的随机整数进行从小到大排序操作(使用冒泡排序法)2.问题思路首先,20个数据我们需要用一维数组来进行数据存储其次,我们要让每个数据在20到100之间,并且是整数,这就涉及到了任意范围随机数的生成问题,具体可以看我之前博客里面Raptor中生成任意范围随机数那一部分然后,我们需要用冒泡排序法进行排序操作(关键步骤,本篇教学内容)最后,我们需要注意一下数据的展原创 2017-12-25 23:19:23 · 32976 阅读 · 17 评论 -
Raptor-求一个正整数各位数字之和(数组法)
1. 问题描述求一个正整数(位数不固定)的各位数字之和。比如 n = 123,n 的各位数字之和就是 1 + 2 + 3 = 6。2. 算法分析利用数组将这个数各位数字存储起来,具体怎么做?比如考虑一个数组为 a,数组 a 用来存储正整数n 的各位数字,如果存储好了,那么正整数 n 各位数字之和就转化为数组 a 的元素求和。又因为正整数 n 的位数不固定,所以数组 a 的长度是不断变化的,这个在 Raptor里面不用担心,可以直接操作。怎么实现提取数字里面每位数字呢?我们可以借助数学中的求原创 2021-12-27 00:10:30 · 10696 阅读 · 0 评论 -
Raptor-一个正整数表示为n连续正整数之和
一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+5,15=4+5+6,15=7+8请写出算法,根据输入的任何一个正整数,输出符合这种要求的所有连续正整数序列,每个序列都按从小到大的顺序输出。如果没有符合要求的序列,输出“NONE”。原创 2021-12-23 02:27:00 · 5594 阅读 · 1 评论 -
Raptor-数组移位
数组移位1. 问题描述有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一子程序实现以上功能。2. 算法分析比如n=10,m=4,我们的目的是把后面4个数变成前面四个数,原始数组是1到10的顺序排列3. 流程图4. 测试结果原创 2021-12-21 22:52:11 · 1178 阅读 · 0 评论 -
Raptor-a+aa+aaa+...+(aaa...a)
1.问题描述求Sn=a+aa+aaa+⋯+(aaa…a)S_n=a+aa+aaa+⋯+(aaa…a) n个a的值,其中a是一个数字,a和n都由键盘输入。例如,2+22+222+2222+22222(此时a=2,n=5)2.思路分析首先,这个题目中Sn求和形式告诉我们,这道题一定要用到循环结构,用到循环结构就要定义循环变量,这道题我们定义循环变量为i以及循环退出的条件为i>n。其次是当a=原创 2017-11-29 16:36:37 · 5592 阅读 · 0 评论 -
Raptor-寻找1000以内完数
1.问题描述一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子是1,2,3,而6=1+2+3,因此6是“完数”。找出1000之内的所有完数。2.思路分析首先,本题是寻找1000以内的完数,那么一定有一个循环变量i从1到1000,然后对于每个循环变量来说都判断这个i是不是完数现在问题是,怎么判断这个i是不是完数,作为简化主要流程图的目的,更明显的展示我们的思路,我们设计一原创 2017-11-28 02:58:40 · 10391 阅读 · 1 评论 -
Raptor-公司最大收益
1.问题描述一家家具公司生产桌子和椅子。现有113个单位的木材。每张桌子要使用20个单位的木材,售价是30元;每张椅子要用16个单位的木材,售价是20元。使用已有的木材生产桌椅(不一定要用光木材),最多可以卖多少钱?2.思路分析首先我们看这个问题,我们能发现这是一个优化问题,是在某种约束条件下求目标的最优值。对于这个问题来说,约束条件就是木材的数量,目标就是产品收益,明确了这一原创 2017-11-29 17:29:26 · 1064 阅读 · 3 评论 -
Raptor-阶乘的两种实现方法
1.问题描述n的阶乘定义为n*(n-1)*(n-2)*…*3*2*1,记为n!。请编写程序计算一个数的阶乘(特殊的 0!=1) 2.思路分析这道题有两种方法,这两种方法源于对这个阶乘定义的使用,下面我们来看看差别。a) 递归调用的方法这种方法是利用了阶乘这个定义的自身,我们假定f(n)是求n的阶乘的一个函数关系,f(n-1)就是求(n-1)!,…,f(1)就是求1!,原创 2017-11-30 00:15:26 · 42648 阅读 · 5 评论 -
Raptor-素数判断/质数判断
在Raptor的某些问题中,会有判断素数或者找出某一区间范围内的素数,这样的问题比较多,因此本篇内容讲解怎么判断一个数是不是素数定义:质数(prime number)又称素数,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。如果一个数有除了1和自身的其他因子就被称为合数。因为素数判断用到的比较多,所以我们从方便的角度定义一个素数判断的子程序isPri原创 2017-11-30 12:59:13 · 27765 阅读 · 1 评论 -
Raptor-教程回归及个人心得体会
停写Raptor博客教程很长时间了,但是在后续一直有人向我咨询Raptor的相关问题,因个人精力有限,很难帮助所有人,所以在回复上很不积极。近期在学习其它东西的时候,在网上找了不少开源教程和资源等,感叹其他人对互联网资源分享的热衷。因此,萌生了继续写Raptor博客教程的心思。之前停止写Raptor相关博客教程原因主要有两方面,其一是事务繁多,无法兼顾;其二是动力不足。事物繁多,难道不能一周写一篇吗?分解打一天,可能只需要打几行字就OK了。我思考之后,第二点或许是最重要的原因,因为没有外在压力,靠爱原创 2021-12-22 00:05:16 · 3227 阅读 · 0 评论 -
PTA-斐波那契数列(II)
斐波那契数列(II)已知斐波那契数列Fn=Fn−1+Fn−2(n>=3),F1=1,F2=1求解该数列的第n项,结果对998244353取模。输入格式:输入一个正整数n(1<=n<=10000000)。输出格式:输出一个数,数列的第n项输入样例1:1输出样例1:1输入样例2:3输出样例2:2...原创 2020-05-24 13:06:45 · 3960 阅读 · 1 评论 -
PTA-斐波那契数列(I)
斐波那契数列(I)已知斐波那契数列Fn=Fn−1+Fn−2(n>=3),F1=1,F2=1用递归的方法求解该数列的第n项。输入格式:输入一个正整数n(1<=n<=40)。输出格式:输出一个数,数列的第n项输入样例1:1输出样例1:1输入样例2:3输出样例2:2解答:#include...原创 2020-05-24 12:39:06 · 6648 阅读 · 3 评论 -
Raptor-n的立方可以表示成n个连续奇数的和
根据Nocomachns定理,任何一个正整数的立方一定可以表示成个连续的奇数的和,如:1^3 = 1, 2^3 = 3 + 5, 3^3 = 7 + 9 + 11, 4^3 = 13 + 15 + 17 + 19. 请给出给定之后的对应表达式算法。根据问题描述,任何的立方都可以写成个连续奇数的和,这意味着:,其中构成公差为2的等差数列,这样根据等差数列求和公式,即,得到了,根据...原创 2019-12-14 11:57:23 · 3494 阅读 · 1 评论 -
PTA-水仙花数
水仙花数水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3+5^3+3^3。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出样例:153370371407解答:#include <stdio.h&...原创 2018-03-21 21:46:47 · 25288 阅读 · 7 评论 -
PTA-指定范围内的Fibonacci数
使用函数输出指定范围内的Fibonacci数本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:int fib( int n );void PrintFN( int m, int n );...原创 2018-04-24 20:11:36 · 2462 阅读 · 0 评论 -
PTA-判断素数
判断素数本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。输入样例:211111输出样例:YesNo解答:#include<stdio.h>#include<math.h>...原创 2018-04-27 12:37:17 · 24251 阅读 · 2 评论 -
Raptor-数字正序输出(递归法)
数字正序输出 问题:任意输入一个整数,从高位到低位逐个输出每一位(正序输出) 例如: input = 123,output 分别为1,2,3原创 2018-11-14 01:03:20 · 22083 阅读 · 0 评论 -
Raptor-数字逆序输出(递归法)
数字逆序输出 :任意输入一个正整数,逆序输出这个数字例如: input = 123,output分别为3,2,1.原创 2018-12-01 01:49:04 · 27088 阅读 · 2 评论 -
PTA-分解质因数
分解质因数输入一个整数n(2≤n≤10000),对其分解质因数。输入格式:输入正整数n(2≤n≤10000)。输出格式:输出整数=各分解质因数的乘积输入样例:120输出样例:120=2*2*2*3*5解答:#include<stdio.h>...原创 2019-05-05 21:01:57 · 3878 阅读 · 0 评论 -
完美立方
题目:形如a^3= b^3 + c^3 + d^3的等式被称为完美立方等式。例如123= 63 + 83 + 103 。编写一个程序,对任给的正整数N(N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 +c3 + d3,其中a,b,c,d 大于1, 小于等于N,且b<=c<=d。输入一个正整数N (N≤100)。输出每行输出一个完美立方。输出格式为:Cube ...原创 2018-03-19 16:47:20 · 5779 阅读 · 3 评论