zoukankan      html  css  js  c++  java
  • hdu 3354 Probability One

    Probability One

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 379    Accepted Submission(s): 293


    Problem Description
    Number guessing is a popular game between elementary-school kids. Teachers encourage pupils to play the game as it enhances their arithmetic skills, logical thinking, and following-up simple procedures. We think that, most probably, you too will master in few minutes. Here’s one example of how you too can play this game: Ask a friend to think of a number, let’s call it n0.
    Then:
    1. Ask your friend to compute n1 = 3 * n0 and to tell you if n1 is even or odd.
    2. If n1 is even, ask your friend to compute n2 = n1/2. If, otherwise, n1 was odd then let your friend compute n2 = (n1 + 1)/2.
    3. Now ask your friend to calculate n3 = 3 * n2.
    4. Ask your friend to tell tell you the result of n4 = n3/9. (n4 is the quotient of the division operation. In computer lingo, ’/’ is the integer-division operator.)
    5. Now you can simply reveal the original number by calculating n0 = 2 * n4 if n1 was even, or n0 = 2 * n4 + 1 otherwise.
    Here’s an example that you can follow: If n0 = 37, then n1 = 111 which is odd. Now we can calculate n2 = 56, n3= 168, and n4 = 18, which is what your friend will tell you. Doing the calculation 2 × n4 + 1 = 37 reveals n0.
     
    Input
    Your program will be tested on one or more test cases. Each test case is made of a single positive number (0 < n0 < 1, 000, 000).
    The last line of the input file has a single zero (which is not part of the test cases.)
     
    Output
    For each test case, print the following line:
    k. B Q
    Where k is the test case number (starting at one,) B is either ’even’ or ’odd’ (without the quotes) depending on your friend’s answer in step 1. Q is your friend’s answer to step 4.
    Note: There is a blank space before B.
     
    Sample Input
    37 38 0
     
    Sample Output
    1. odd 18 2. even 19
     
    Source
     
    Recommend
    lcy   |   We have carefully selected several similar problems for you:  3351 3352 3353 3355 3356 
     
     1 //0MS    228K    366 B    G++
     2 /*
     3 
     4     题意:
     5         题目看似很难.其实是水题.直接按它的过程计算一遍即可得出解 
     6  
     7 */
     8 #include<stdio.h>
     9 int main(void)
    10 {
    11     int n;
    12     int k=1;
    13     while(scanf("%d",&n),n)
    14     {
    15         int odd=0;
    16         n*=3;
    17         if(n%2){
    18             odd=1;
    19             n=(n+1)/2;
    20         }else n/=2;
    21         n*=3;
    22         n/=9;
    23         if(odd) printf("%d. odd %d
    ",k++,n);
    24         else printf("%d. even %d
    ",k++,n);
    25     }
    26     return 0;
    27 } 
  • 相关阅读:
    019_Mac实用的图像备份工具
    016_把普通用户免秘钥加入root用户的几种方式
    027_磁盘维护命令du等
    026_lsof命令经验总结
    004_wireshark专题
    029_mount bind挂载
    023_nginx跨域问题
    mysql-5.7 group commit 详解
    二段式提交协议
    mysql-5.7 密码过期详解
  • 原文地址:https://www.cnblogs.com/GO-NO-1/p/3439814.html
Copyright © 2011-2022 走看看