首页 > 其他分享 >[2001年NOIP普及组] 数的计算

[2001年NOIP普及组] 数的计算

时间:2022-08-14 21:24:10浏览次数:59  
标签:要加 普及 return NOIP int 2001 自身

算法分析:一个数可分为自身(+1)和自身除以2的数所带的次数,适合用递推从前往后推,比如说4可以分为2和1和自身所带表的数相加

1

2 12

3 13

414 24 124

注意:自身也要加1,若不足3直接输出

#include<bits/stdc++.h>
using namespace std;
int a[1009]={1,1,2,2};
int js(int n){
int i=3;
if(n==1) return 1;
if(n==2||n==3) return 2;//若不足直接输出
while(1){
i++;
for(int j=0;j<=i/2;j++){
a[i]=a[i]+a[j];
}//注意自身也要加1
if(i==n){
return a[i];
}
}
}
int main(){
int s;
cin>>s;
cout<<js(s);
}

标签:要加,普及,return,NOIP,int,2001,自身
From: https://www.cnblogs.com/wangjunlong9948/p/16586341.html

相关文章

  • [NOIP2001 普及组] 数的计算
    试题分析:以4为例子:4后面可以跟上1,2组成14,24。14后面跟不了,24可以跟上1组成124,再加上4本身就可以得到4的种类:14,24,124,4。而我们只要算出1,2的种类就可以加起来得到4......
  • [2011年NOIP提高组] 铺地毯
    输入每个地毯的位置大小,用二维数组存储然后输入指定的点枚举出此点所在地毯(四个顶点上的点也算被地毯覆盖)输出地毯编号(若此处没有被地毯覆盖则输出-1)代码:#include<ios......
  • [2000年NOIP普及组] 税收与补贴问题
    [2000年NOIP普及组]税收与补贴问题分析:根据题意,在销量随售价改变的基础上求最小的补贴或税收,本题用了打表的方式来展现售价与销量之间的关系,其中出现了几个与普遍的规律......
  • [NOIP2001 提高组] 一元三次方程求解
    首先输入系数根据提示:三个实根之差绝对值均>=1......求解最后输出三个实根代码:#include<iostream>#include<cstdio>#include<math.h>usingnamespacestd;intmain(){......
  • [2001年NOIP普及组] 最大公约数和最小公倍数问题
     [2001年NOIP普及组]最大公约数和最小公倍数问题思路:可以运用暴力枚举法。先用两个数的乘积=他们的最大公约数*最小公倍数的公式求出乘积num,再在已知范围内暴力搜素能......
  • [2011年NOIP提高组] 铺地毯
    [2011年NOIP提高组]铺地毯思路:运用暴力枚举法。开一个结构体存地毯信息,然后铺上地毯。然后在根据要找的地点,与输入顺序反着一一枚举来找符合的地毯(因为地毯会覆盖,先铺的......
  • [2016年NOIP普及组] 回文日期
    [2016年NOIP普及组]回文日期分析:根据题意,有一个由年月日组成的八位数,判断是否是回文日期,因为每个月的天数是不一样的,所以可以开一个数组来存每个月的天数,此时有一个特殊......
  • P1008 [NOIP1998 普及组] 三连击
    P1008[NOIP1998普及组]三连击分析:根据题意,有1-9这9个数要分成三组组成三个三位数,意味着这9个数只能出现一次,且三个三位数的比例为1:2:3,由此可以得知这三个数中最小的那......
  • [2011年NOIP提高组] 铺地毯
    为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大......
  • [2016年NOIP普及组] 回文日期
    [2016年NOIP普及组]回文日期题目大意:用 8 位数字表示一个日期,其中,前 4 位代表年份,接下来 2 位代表月 份,最后 2 位代表日期,一个日期是回文的,当且仅当表示这个日......