刷题路-一尺之棰

  • Post author:
  • Post category:其他




一尺之棰



题目描述

《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a(<=10^9) 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2,向下取整)。第几天的时候木棍会变为 1?



输入格式



输出格式



输入输出样例



输入 #1

100



输出 #1

7

第一遍C语言代码。

时间超限。

#include<stdio.h>
int main()
{
    int i;
    int sum=0,result=1;
    scanf("%d",&sum);
    for(i=1;;i++)
    {
        sum=sum/2;
        result++;
        if(sum==1)
            break;
    }
    printf("%d\n",result);
}

第二遍C++代码

# include <iostream>
# include <stdio.h>

using namespace std;
int a, ans = 1;

int main () {
	scanf ("%d", &a);
	while (a > 1) {
		ans++; 
		a /= 2;
	}
	cout << ans << endl;
	return 0;
}

(C语言🙅‍♂️ C++🙆‍♂️)



版权声明:本文为Sandwith原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。