- 博客(7)
- 收藏
- 关注
原创 使用函数输出一个整数的逆序数
若把它看作字符串,可以做一个拆分选定倒序输出范围进行逆序输出(有关于特殊条件的处理比如‘-’可以用flag作为标记在输出字符前提前输出‘-’,以及一些特殊情况可以根据报错进行调整和修改)如果按照题目要求按照数字进行处理:则要取出每一位上的数字再进行倒序排列。本题要求实现一个求整数的逆序数的简单函数。(注意:逆序后去掉前导0)其中函数reverse须返回用户传入的整型number的逆序数。代码实现如下:(以下为C语言版本)
2024-11-30 18:26:18
750
原创 使用函数验证哥德巴赫猜想
2.Goldbach函数:从m到n进行遍历,只要遇到偶数就尝试拆分(为了节省算力和提高时间效率)因为如果拆分为一个偶数素数只有2,并且一个偶数减去2还是偶数(且因为这个偶数的限制条件是大于6),因此一定不是素数;函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。注意:1不是素数,2是素数。1.素数如何实现:首先了解一下素数的定义,遍历从2到一个值【这个值可以是根号下n,为了提高计算效率因为如果大于根号下n的部分其实属于是重复计算】,看是否能够被其中任意一个数整除;
2024-11-30 17:56:09
511
原创 使用函数输出指定范围内的Fibonacci数
函数PrintFN要在一行中输出给定范围[m, n]内的所有Fibonacci数,相邻数字间有一个空格,行末不得有多余空格。本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。我的思路之前是:将m到n个数进行反向拆分看看能不能拆成功打到最后两项为1 1(即fib函数前两项)难点是不知道离他最近的fib的两项是多少。1.2因为有输出条件:我们先输出符合条件的第一个数,再输出后续满足条件的值。
2024-11-30 12:20:30
690
原创 使用函数求特殊a串数列和
其实也就是最低位在循环遍历中被重复加了n次,倒数第二个有效位被加了n-1次,以此类推:第i位被加了(n-i)次。给定两个均不超过9的正整数a和n,要求编写函数求a+aa+aaa++⋯+aa⋯a(n个a)之和。其中函数fn须返回的是n个a组成的数字;SumA返回要求的和。:1.首先分析这道题目的特点。一行两个整数a和n。
2024-11-29 00:09:27
523
原创 C++递归——蛇形方阵
2.处理好边界条件:断点是要着重处理的,一定要具体分析这个数应该在哪个循环中进行赋值?1.首先分析这道题的逻辑框架:只需要考虑四个部分:左部,下部,右部,上部是如何进行循环赋值的。3.明确循环边界条件:一定不能出现数组溢出的情况,否则对于初学者很难找到具体错误的位置。———————————————————思考线—————————————————————其实这道题并没有想象中那么麻烦,我们只需要关注第一轮也就是最外圈是如何赋值的即可。4.尝试使用debug:程序员必备,但是要尽量自己想明白再让机器实践。
2024-09-16 16:57:36
673
原创 C++递归经典问题——汉诺塔
一块板上有三根杆子,A,B,C。A杆上套有64个大小不等的圆盘,大的在下,小的在上。要把这64个圆盘从A杆移到C杆上,每次只能移动一个圆盘,移动可以借助B杆进行。但在任何时候,任何杆上的圆盘都必须保持大盘在下,小盘在上。2.模型意识:即推广意识。如果想不明白的小伙伴可以象我一样,以n = 3为例,将具体步骤按照模型逐步拆解,看看结果是否和答案一样,进一步论证自己的模型是正确的。1.明确递归简化思想:将n个托盘看作是两部分上面的n-1个和第n个,并不断对其进行递归划分直至n=1,直接输出。
2024-09-16 16:30:00
1156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅