Raptor
文章平均质量分 68
踏雪无痕是个小疯子
不定期发布C语言、Matlab、Python、Raptor相关博客。
Raptor问题加群:513771532
展开
-
Raptor-水仙花数
之前经常有人询问水仙花数的问题,最近看到有人在博客上留言,所以决定写一篇关于水仙花数的内容。问题是在网上找的,如下:输出100~999之间所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3 + 5^3 + 3^3。原创 2022-11-08 10:00:50 · 7440 阅读 · 3 评论 -
Raptor-回文数判断
1. 题目描述输入一个数字,判断其是否是回文数。回文数是正向拼写与反向拼写都一样的数字。例如:121 和 1234554321 都是回文数。2. 算法分析前一篇博客Raptor-回文字符串判断在最后给出了如何利用回文字符串的判断程序来判断数字是否为回文数,但是需要在原始输入数字中加入特殊符号,以便形成字符串。本篇博客将介绍基于数组的回文数字判断,无需在原始输入中加入特殊符号以形成字符串。核心思路两部分:1)首先通过数字分解,将数字存储在数组中(参考博客Raptor-数字分解);原创 2022-01-03 12:53:28 · 3518 阅读 · 0 评论 -
Raptor-数字分解
1. 问题描述之前写过一些 Raptor 的程序,里面经常会直接或间接遇到数字分解的要求。比如一个数 num = 1234567,把这个数字逆序输出;或者水仙花数,153=1^3 + 5^3 + 3^3,需要提取各位数字;或者求一个正整数(位数不固定)的各位数字之和等等。现在把这个需求提取出来,写成一篇博客,供后续相关需求引用参考。(上面的博客链接是跟数字分解相关的博客,有的写于本篇博客之前,有的写于本篇博客之后,有需求的可以参考相关内容。)2. 算法分析我们利用数组和求余运算来实现数字分解任务原创 2022-01-03 11:06:51 · 8261 阅读 · 0 评论 -
Raptor-回文字符串判断
1. 题目描述输入一个字符串,判断其是否是回文。回文是正向拼写与反向拼写都一样的字符串。例如:"abcba"和"abccba"都是回文。2. 算法分析我们在Raptor中输入字符串,记为 s,在Raptor中,字符串 s 是以字符数组的形式存在,我们可以利用数组对回文字符串进行判断。比如字符数组 s = "abcdeedcba",这个数组的长度也即末端索引位置可以用自带函数 length_of 来获取。我们定义两个循环变量 i 和 j,其中 i 记录起始索引的位置,初始值 i=1;j 记录末端索原创 2022-01-03 10:25:32 · 9461 阅读 · 0 评论 -
Raptor-子图与子程序
Raptor里面经常遇到比较复杂的问题,如果我们把所有的流程图都放到主图里面,那么主图就会显得太臃肿,不够精炼,所以在此引入 Raptor 中的子图与子程序。本篇博客面向Raptor的初学者,将以从1到100求和为例,分别介绍子图和子程序,包括创建、修改、删除等操作,在文章最后将会对子图与子程序的差异进行简要总结和形象化的说明。原创 2021-12-27 01:56:50 · 13666 阅读 · 0 评论 -
Raptor-求一个正整数各位数字之和(数组法)
1. 问题描述求一个正整数(位数不固定)的各位数字之和。比如 n = 123,n 的各位数字之和就是 1 + 2 + 3 = 6。2. 算法分析利用数组将这个数各位数字存储起来,具体怎么做?比如考虑一个数组为 a,数组 a 用来存储正整数n 的各位数字,如果存储好了,那么正整数 n 各位数字之和就转化为数组 a 的元素求和。又因为正整数 n 的位数不固定,所以数组 a 的长度是不断变化的,这个在 Raptor里面不用担心,可以直接操作。怎么实现提取数字里面每位数字呢?我们可以借助数学中的求原创 2021-12-27 00:10:30 · 10323 阅读 · 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 · 5361 阅读 · 1 评论 -
Raptor-选组长
1. 问题描述有3个课外小组:物理组,化学组和生物组。今有张、王、李、赵、陈5名同学,已知张、王为物理组成员,张、李、赵为化学组成员,李、赵、陈为生物组成员。如果要在3个小组中分别选出3位组长,一位同学最多只能担任一个小组的组长,共有种选择方案?2. 思路分析我们用字母 A 代表张同学,字母 B 代表王同学,字母 C 代表李同学,字母 D 代表赵同学,字母 E 代表陈同学。把这几位同学所对应的小组,展现在一张表中:原创 2021-12-23 01:01:35 · 881 阅读 · 0 评论 -
Raptor-博客进展(持续记录)
本篇博客仅用于记录再次更新博客以来的博客进展,今后会更新什么内容?1. 会在本篇博客下持续更新进度,望广大网友监督(感悟见 Raptor-教程回归及个人心得体会);2. 有博客修正内容,会在此列举。第一次修改的内容比较多,不一一列举了,有学习需求,可以去Raptor专栏查看。3. 博客更新计划。我个人感觉有太多的内容可以写,但是时间可能不够充裕,所以更新计划可能有变化,具体更新看实际情况。原创 2021-12-22 23:10:16 · 778 阅读 · 2 评论 -
Raptor-教程回归及个人心得体会
停写Raptor博客教程很长时间了,但是在后续一直有人向我咨询Raptor的相关问题,因个人精力有限,很难帮助所有人,所以在回复上很不积极。近期在学习其它东西的时候,在网上找了不少开源教程和资源等,感叹其他人对互联网资源分享的热衷。因此,萌生了继续写Raptor博客教程的心思。之前停止写Raptor相关博客教程原因主要有两方面,其一是事务繁多,无法兼顾;其二是动力不足。事物繁多,难道不能一周写一篇吗?分解打一天,可能只需要打几行字就OK了。我思考之后,第二点或许是最重要的原因,因为没有外在压力,靠爱原创 2021-12-22 00:05:16 · 3070 阅读 · 0 评论 -
Raptor-数组移位
数组移位1. 问题描述有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一子程序实现以上功能。2. 算法分析比如n=10,m=4,我们的目的是把后面4个数变成前面四个数,原始数组是1到10的顺序排列3. 流程图4. 测试结果原创 2021-12-21 22:52:11 · 1130 阅读 · 0 评论 -
Raptor-输出换行与不换行设置
在Raptor使用过程中,有时候想到对某些输出内容不换行,不少初学者不知道怎么操作,其实设置起来很简单。比如我要循环输出1,2,3,4,5,6,7,8,每两个数之间用空格间隔开来,流程图如下原创 2021-12-21 21:32:11 · 5195 阅读 · 0 评论 -
Raptor-初始化数组的四种方式
在初学Raptor时,经常会遇到如下问题:对10个同学的成绩进行排序、对一组数进行排序、斐波那契数列等等。这些涉及到一系列数据的问题往往可以利用数组来比较方便的解决。通过利用数组,缓解了定义多个变量的困扰,下面以一维数组为例,简要介绍数组初始化数据的四种方式,并简要介绍其优缺点。原创 2019-12-19 01:34:36 · 18922 阅读 · 2 评论 -
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 · 3356 阅读 · 1 评论 -
Raptor-数字逆序输出(递归法)
数字逆序输出 :任意输入一个正整数,逆序输出这个数字例如: input = 123,output分别为3,2,1.原创 2018-12-01 01:49:04 · 26834 阅读 · 2 评论 -
Raptor-数字正序输出(递归法)
数字正序输出 问题:任意输入一个整数,从高位到低位逐个输出每一位(正序输出) 例如: input = 123,output 分别为1,2,3原创 2018-11-14 01:03:20 · 21917 阅读 · 0 评论 -
Raptor-公司最大收益
1.问题描述一家家具公司生产桌子和椅子。现有113个单位的木材。每张桌子要使用20个单位的木材,售价是30元;每张椅子要用16个单位的木材,售价是20元。使用已有的木材生产桌椅(不一定要用光木材),最多可以卖多少钱?2.思路分析首先我们看这个问题,我们能发现这是一个优化问题,是在某种约束条件下求目标的最优值。对于这个问题来说,约束条件就是木材的数量,目标就是产品收益,明确了这一原创 2017-11-29 17:29:26 · 1013 阅读 · 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 · 42298 阅读 · 5 评论 -
Raptor中生成任意范围的随机数
1.问题背景在Raptor中,有时候我们需要一些指定范围的随机数,但是我们从Raptor帮助文件中可以发现,random产生[0,1)之间的随机数,这显然是不能满足需要的,所以本篇教学探讨怎么生成任意范围的随机数。 帮助文件中的random函数介绍: 2.实现原理本篇教学讨论生成[a,b)(b>a)区间上的均匀分布的随机数Raptor中的random产生一个[0,1)区间上均匀分布的随原创 2017-11-30 03:35:23 · 35004 阅读 · 4 评论 -
Raptor-素数判断/质数判断
在Raptor的某些问题中,会有判断素数或者找出某一区间范围内的素数,这样的问题比较多,因此本篇内容讲解怎么判断一个数是不是素数定义:质数(prime number)又称素数,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。如果一个数有除了1和自身的其他因子就被称为合数。因为素数判断用到的比较多,所以我们从方便的角度定义一个素数判断的子程序isPri原创 2017-11-30 12:59:13 · 27037 阅读 · 1 评论 -
Raptor软件与学习资料
Raptor资源分享经常发现有小伙伴需要Raptor汉化版的软件,现在整理了汉化版的和英文版的Raptor软件以及其他一些资料,需要的话自取!链接:https://pan.baidu.com/s/1L1nEfYIXAcTfwdNN4iVNAA 提取码:7liy原创 2017-11-30 17:05:06 · 3138 阅读 · 0 评论 -
Raptor中统计不同的字符
1.题目输入一行字符,统计其中英文字母,空格,数字和其他字符的个数2.分析a) 首先,我们要从输入中得到字符串,我们记为str,并且得到字符串的长度lenb) 根据题目要求,我们分别定义一些计数变量,初始值都为0c) 接下来关键的地方就是怎么判断每一个字符分别属于哪个字符字母可能有大写字母和小写字母,那么就应该是(str[i]>=’a’ and str[i]<=’z’) or (str[i]>=’原创 2017-11-22 23:03:44 · 8410 阅读 · 0 评论 -
Raptor-打印符号图形
Raptor中,有时候我们要求在控制台输出一些符号图形,如符号三角形,符号菱形等等。如下图所示:三角形 菱形 这篇教程中,我给出一个我的实现思路和一个拓展应用,打印三角形的QQ表情,像下面这样: 2.实现思路及结果展示三角形 我们以打印n=10层三角形为例子1. 首先我们考虑这个图形一定要用到循环结构的,我们定义一个循环变量i,i从1到10,每一层*的个数原创 2017-12-02 17:49:11 · 15176 阅读 · 6 评论 -
Raptor中的常量与变量
1.常量常量的定义:常量是在程序运行过程中固定不变且不可改变其值的量。Raptor没有为用户定义常量的功能,只能在系统内部定义了若干符号所表示常用的数值型常量。 如: pi:圆周率,定义为3.1416 e:自然对数的底数,定义为2.7183 true/yes:布尔值真,定义为1 false/no:布尔值假,定义为0常量的使用及展示:2.变量变量的定义:变量表示的是计算机内存中的位原创 2017-11-28 02:21:05 · 14502 阅读 · 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 · 10278 阅读 · 1 评论 -
Raptor-冒泡排序法
1.问题描述对20个20到100范围的随机整数进行从小到大排序操作(使用冒泡排序法)2.问题思路首先,20个数据我们需要用一维数组来进行数据存储其次,我们要让每个数据在20到100之间,并且是整数,这就涉及到了任意范围随机数的生成问题,具体可以看我之前博客里面Raptor中生成任意范围随机数那一部分然后,我们需要用冒泡排序法进行排序操作(关键步骤,本篇教学内容)最后,我们需要注意一下数据的展原创 2017-12-25 23:19:23 · 31728 阅读 · 17 评论 -
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 · 5508 阅读 · 0 评论