JOJ2185: Adding 1s, 2s, and 3s

    技术2022-05-19  24

    Integer 4 can be expressed as a sum of 1s, 2s, and 3s in seven different ways as follows: 1 + 1 + 1 + 1; (1) 1 + 1 + 2; (2) 1 + 2 + 1; (3) 2 + 1 + 1; (4) 2 + 2; (5) 1 + 3; (6) 3 + 1: (7) Write a program that determines the number of ways in which a given integer can be expressed as a sum of 1s, 2s, and 3s. You may assume that the integer is positive and less than 20.

    Input

    The input consists of T test cases. The number of test cases (T ) is given in the first line of the input. Each test case consists of an integer written in a single line.

    Output

    Print exactly one line for each test case. The line should contain an integer representing the number of ways.

    Sample Input

    3 4 7 10

    Sample Output

    7 44 274

     

    Problem Source: SJTU Programming Contest 2004

    #include <stdio.h>int sum;void f(int n){ if(n>=3)  f(n-3); if(n>=2)  f(n-2); if(n>=1)  f(n-1); if(n == 0)  sum++;}int main(){ int n,num; scanf("%d",&n);

     while(n>0) {  sum = 0;  scanf("%d",&num);  f(num);  printf("%d/n",sum);  n--; }return 0;  }


    最新回复(0)