题解列表

筛选

数列基础知识,找准相邻项递推关系!

解题思路:这个题目并不难,实际上本质就是1+11+111+1111+......,最后结果别忘乘以2就行了。那么111111这串数列并非是等比或者等差数列,这一点千万不要弄混,也就是不能直接硬套高中数列求和公式,要找到它们的递推关系:相邻两项差距是10的(n-1)次幂,

找准阶乘数列递推,利用an sn的关系最简单!

解题思路:和上一题几乎完全一样的思路,找准an和an-1的关系去递推,利用sn=sn-1+an的公式累加。注意事项:由于阶乘发散速度很快,要用long而不是Int,否则会出现大数溢出!我第一次正确了一半就是因为忽略了这一点!参考代码:#include#include#

简单的数组递推累加

解题思路:和所有前述数列递推题目的思路一样,只不过这个要分三个不同的循环最后累加注意事项:别忘了浮点型参考代码:#include#include#includeintmain(){inti=1;intx,

超简单的循环加判断

解题思路:入门级题目,比前几个数列递推求和的要简单许多了注意事项:参考代码:#include#include#includeintmain(){inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=i%100/10;

有点难度的小白关:不定项的输出如何符合输出要求

解题思路:本题目在思路方面没什么难的,两层循环嵌套而已,外层循环用来遍历1到n,内层循环用来判断是否是完数。问题的关键在于如何像题目要求的那样输出**itsfactorsare*******,因为完数的因子个数是不确定的,而printf只能一一对应的占位输出,

使用简易递推函数的类斐波那契

解题思路:实际上分子就是下一项的分母,分子分母满足类斐波那契数列递推关系。由于是分子/分母形成的数列累加,所以干脆定义一个递归函数会比较简单!也可以用数组去做,利用s[i]=a[i+1]/a[i]这个关系在循环节中累加sn,不过对于数组a[n]照样需要写成递推函数那样的分类讨论。

找准/2的规律及边界

解题思路:每次落地之后将要弹起的高度就是1/2的n次幂,所以弹起高度好求。但是总高度需要初始m累加经过的弹起高度,但麻烦的是这里的总高度只计算到落地,而不包括落地之后应该有的下一次弹起,这就导致总高度累加次幂比计算弹起高度的次幂正好少一次,在一个循环里面很容易出错。

非常标准的双循环判断嵌套

解题思路:判断素数的思路很简单,除了1和它本身没有额外因子,用一个循环判断即可;而题目要求的是输出从2到N的所有素数,所以外层要再嵌套一个从2到N的循环注意事项:别忘了是从2开始遍历哦!参考代码:#include#include#includein

构造递推函数完成迭代

解题思路:常规思路,凡是迭代就构造递推函数,这比无函数纯循环方法更清晰注意事项:虽然题目没说,但是考虑到我们迭代的所谓xn只能是正整数项,所以如果输入的是负数就跳出一个“wrong”,这样代码更加严谨!参考代码:#include#include#include

自定义函数然后嵌套使用

解题思路:先求最大公约数,然后再求最小公倍数。在求最大公约数的过程中,有很多诸如辗转相除法之类的传统方法,这里我使用了因子递减循环来求,需要从两数更小的那一个开始递减,为了代码简便干脆先定义一个取最小值函数。注意事项:参考代码:#include#include#inc