#5105. [GESP202606 二级 Scratch] 17. 买文具

[GESP202606 二级 Scratch] 17. 买文具

买文具 【题目描述】

小杨想用零花钱买一些文具。他有一个特别的买文具规则:

1.每次他只买一个文具,而且这个文具的价格正好等于他当前拥有零花钱的一半。

2.只要他当前拥有的零花钱大于或等于 1 元,他就会继续买下一个文具。

3.当他当前拥有的零花钱小于 1 元时,就不再买了。

小杨一开始有 S 元,默认小猫角色和白色背景,请你编写一个程序,帮他算一算,他最多能买到多少个文具?最后输出的答案存入变量 ans 中。

【输入描述】

新建变量“S”,表示小杨最初的零花钱(单位:元)。

注意:小杨的零花钱 S 不超过 10,000 元,且最多只有 1 位小数(例如 10.0、

79.0)。

如下图所示:

【输出描述】

新建变量“ans”,一个正整数,表示小杨最多能买的文具个数。

如下图所示:

【样例解释】

  1. 小杨有 10.0 元,他买了一盒彩笔,价格正好是 10.0 元的一半 = 5.0 元,现在他拥有 5.0 元。

  2. 现在他有 5.0 元(≥1 元),他买了一本贴纸,价格正好是 5.0 元的一半= 2.5 元,现在他拥有 2.5 元。

  3. 现在他有 2.5 元(≥1 元),他买了一个橡皮擦,价格正好是 2.5 元的一半 = 1.25 元,现在他拥有 1.25 元。

  4. 现在他有 1.25 元(≥1 元),他买了一块磁铁,价格正好是 1.25 元的一半 = 0.625 元,现在他拥有 0.625 元。

  5. 现在他只有 0.625 元,小于 1 元,所以不再买文具。

【输入样例】

S = 10.0

【输出样例】

ans = 4

【输入样例】

S = 79.0

【输出样例】

ans = 7

注意事项:

1.变量名的拼写(包括大小写)要和题目完全一致。

2.输入变量直接赋值即可,无需使用“询问并等待”积木块。

3.输出结果存放在对应变量中即可,无需使用“说…”或“说…,2 秒”积木块。