zoukankan      html  css  js  c++  java
  • uva 11636 Hello World!

    https://vjudge.net/problem/UVA-11636

    题意:

    希望输出n条语句,但是并不会循环,所以只能复制粘贴,一条语句经过复制粘贴后可以变为2条,2条变成4条。。。。每次可以只选择一部分进行复制粘贴。

    问最少经过多少次可以到n,最开始只有1句。

    思路:

    2^k >= n,输出k。

    wa:

    1的时候输出0 orz,特殊情况记得特判。

    代码:

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 int main()
     5 {
     6     int n;
     7     int kase = 0;
     8 
     9     while (scanf("%d",&n) && n > 0)
    10     {
    11         int ans = 0;
    12         int sum = 1;
    13 
    14         if (n == 1)
    15         {
    16             printf("Case %d: %d
    ",++kase,0);
    17             continue;
    18         }
    19 
    20         for (int i = 1;;i++)
    21         {
    22             sum *= 2;
    23 
    24             if (sum >= n)
    25             {
    26                 ans = i;
    27                 break;
    28             }
    29         }
    30 
    31         printf("Case %d: %d
    ",++kase,ans);
    32     }
    33 
    34     return 0;
    35 }
  • 相关阅读:
    团队作业
    第四次作业
    第三次作业
    从电梯问题,看c和c++之间的区别(有点懂了)错觉错觉
    团队作业2
    游戏方案
    电梯调度程序4
    电梯调度程序3
    电梯调度程序2
    电梯调度程序1
  • 原文地址:https://www.cnblogs.com/kickit/p/7920284.html
Copyright © 2011-2022 走看看