打卡信奥刷题(141)用Scratch图形化工具信奥P10571 [普及组][JRKSJ R8] 三七二十一

[JRKSJ R8] 三七二十一

题目描述

给你一个由 1 ∼ 9 1\sim 9 19 的数字组成的数字串 s s s。定义一个数字串 s s s 表示的数为将其看作十进制数得到的数。形式化地说,长为 n n n 的数字串 s s s 表示的数是 ∑ i = 1 n 1 0 n − i s i \sum_{i=1}^n 10^{n-i}s_i i=1n10nisi

你可以对这个数字串执行若干次操作,每次操作中你可以选定一个位置 1 ≤ p ≤ n 1\le p\le n 1pn 并将 s p s_p sp 修改为任意 1 ∼ 9 1\sim 9 19 中的数字。你需要使该数字串不存在任何一个非空子串满足这个子串表示的数字是 2 k ( k ∈ N ) 2^k(k\in \N) 2k(kN) 2 2 2 的任意非负整数次幂,请你求出最少的操作次数。

输入格式

一行一个数字串 s s s

输出格式

一行一个整数表示答案。

样例 #1

样例输入 #1

2468

样例输出 #1

3

样例 #2

样例输入 #2

164

样例输出 #2

2

样例 #3

样例输入 #3

65535

样例输出 #3

0

提示

样例解释

对于样例 1 1 1,满足表示的数是 2 2 2 的非负整数次幂的 s s s 的非空子串有 2 , 4 , 8 2,4,8 2,4,8,将 s s s 修改为 5963 5963 5963 是最优解之一。

对于样例 2 2 2,满足表示的数是 2 2 2 的非负整数次幂的 s s s 的非空子串有 1 , 4 , 16 , 64 1,4,16,64 1,4,16,64,将 s s s 修改为 666 666 666 是最优解之一。

数据规模与约定

本题采用捆绑测试。

n = ∣ s ∣ n=|s| n=s

Subtask \text{Subtask} Subtask$n\le $分值
1 1 1 4 4 4 10 10 10
2 2 2 8 8 8 10 10 10
3 3 3 17 17 17 20 20 20
4 4 4 1 0 3 10^3 103 20 20 20
5 5 5 1 0 6 10^6 106 40 40 40

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 6 1\le n\le 10^6 1n106 s s s 1 ∼ 9 1\sim 9 19 的数字组成。

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值