数的计算---递推(找规律)
程序员文章站
2022-07-05 16:03:03
...
题目描述
我们要求找出具有下列性质数的个数(包含输入的自然数n):
先输入一个自然数n(n ≤1000),然后对此自然数按照如下方法进行处理:
不作任何处理;
在它的左边加上一个自然数,但该自然数不能超过原数的一半;
加上数后,继续按此规则进行处理,直到不能再加自然数为止.
输入输出格式
输入格式:
1个自然数n(n ≤1000)
输出格式:
1个整数,表示具有该性质数的个数。
输入输出样例
输入样例#1:
6
说明
满足条件的数为
6,16,26,126,36,136
#include<stdio.h>
#include<stdlib.h>
int main(){
int i,n,a[10001];
a[0]=a[1]=1; //很明显,n为1或0时,个数为1;
scanf("%d",&n);
for(i=2;i<=n;i++)
a[i]=a[i-2]+a[i/2];//此规律需要在纸上写出几项就能发现了
printf("%d\n",a[n]);
return 0;
}
上一篇: 六、QEMU+MIPS环境搭建(下)
下一篇: 要过年了 微信红包放出终极大招