HDU5703 Desert【水题】

Desert

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 2417 Accepted Submission(s): 1576

Problem Description
A tourist gets lost in the desert with n liters of water. He drinks positive integer units of water each day.

Write a program to calculate how many different ways the tourist can drink up the water.

Input
The first line contains the number of test cases T(T≤10).
Next T lines contain the number n(1≤n≤1000000) for each test case.

Output
Output consists of T lines.
Each line contains the binary number which represents number of different ways to finish up the water specified in the test case.

Sample Input
1
3

Sample Output
100

Hint

3 liters of water can be comsumed in four different ways show in the following.

  1. 1 1 1
  2. 1 2
  3. 2 1
  4. 3

If we write 4 in binary, it's 100.

Source
"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场

问题链接HDU5703 Desert
问题简述
    整数划分问题。例如3可以表示为1+1+1、1+2、2+1和3,有4种方法。计算输入的n有几种表示方法,结果用二进制表示。
问题分析
    方法数为2^(n-1),用二进制表示的话,由1和n-1个0组成。
程序说明:(略)
参考链接:(略)
题记:(略)

AC的C语言程序如下:

/* HDU5703 Desert */

#include <stdio.h>

int main(void)
{
    int t, n, i;
    scanf("%d", &t);
    while(t--) {
        scanf("%d", &n);
        putchar('1');
        for(i = 1; i < n; i++)
            putchar('0');
        putchar('\n');
    }

    return 0;
}

猜你喜欢

转载自www.cnblogs.com/tigerisland45/p/10206253.html