ZCMU 1225(跳台阶)

1225: Give me the answer

Description

Farmer John commanded his cows to search for different sets of numbers that sum to a given number.
The cows use only numbers that are an integer power of 2. Here are the possible sets of numbers that
sum to 7:

  1. 1+1+1+1+1+1+1
  2. 1+1+1+1+1+2
  3. 1+1+1+2+2
  4. 1+1+1+4
  5. 1+2+2+2
  6. 1+2+4
    Help FJ count all possible representations for a given integer N (1 <= N <= 1 ,000,000)

Input

The first line of the input contains the number of test cases in the file. And t he first line of each case
contains one integer numbers n

Output

For each test case, output a line with the ans % 1000000000.

Sample Input

1
7

Sample Output

6

HINT

在这里插入图片描述
类似于跳台阶
Code:

扫描二维码关注公众号,回复: 6515072 查看本文章
#include<bits/stdc++.h>
using namespace std;
const int mod=1000000000;
int f[1000005];
void init()
{
    int i,sum;
    f[0]=1,f[1]=1;
    for(i=2;i<=1000000;i++)
        if(i%2==0)
            f[i]=(f[i-2]+f[i/2])%mod;
        else
            f[i]=f[i-1];
}
int main()
{
   int t,n;
   init();
   scanf("%d",&t);
   while(t--)
   {
       scanf("%d",&n);
       printf("%d\n",f[n]);
   }
   return 0;
}

拓展:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44941429/article/details/90900902