LQ0086 最少砝码迭代
Posted 海岛Blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0086 最少砝码迭代相关的知识,希望对你有一定的参考价值。
题目来源:蓝桥杯2021初赛 C++ C组J题
题目描述
你有一架天平。现在你要设计一套砝码,使得利用这些砝码可以称出任意小于等于N的正整数重量。
那么这套砝码最少需要包含多少个砝码?
注意砝码可以放在天平两边。
输入格式
输入包含T组测试数据,T不超过100。
每组测试数据输入一行包含一个正整数N,N不超过10^9。
输出格式
对于每组测试数据,输出一行表示答案。
输入样例
2
7
15
输出样例
3
4
问题分析
迭代计算来实现,暂时不解释。
AC的C语言程序如下:
/* LQ0086 最少砝码 */
#include <stdio.h>
int main()
int t, n;
scanf("%d", &t);
while (t--)
scanf("%d", &n);
int cnt = 1, sum = 1, y3 = 1;
while (sum < n)
y3 *= 3, sum += y3, cnt++;
printf("%d\\n", cnt);
return 0;
以上是关于LQ0086 最少砝码迭代的主要内容,如果未能解决你的问题,请参考以下文章