问题 5646 --三倍子串

5646: 三倍子串

题目描述

给定一个十进制正整数 $n$,请问可以从 $n$ 中截取多少种不同的子串,使得子串构成的数字是 $3$ 的倍数。 例如:当$n=1234$ 时,有且仅有 $3$,$12$,$123$,$234$ 这四个子串是 $3$ 的倍数。

输入

单个整数:表示输入的数字 $n$

输出

单个整数:表示 $3$ 的倍数的子串数量。

样例输入输出

输入#1 复制
95764
输出#1 复制
6
输入#2 复制
1111
输出#2 复制
2

提示

+ 对于 $20\%$ 的数据,$1\leq n \leq 10^9$; + 对于 $50\%$ 的数据,$1\leq n \leq 10^{100}$; + 对于 $70\%$ 的数据,$1\leq n \leq 10^{1000}$; + 对于 $100\%$ 的数据,$1\leq n \leq 10^{100000}$ 样例1说明:子串6,9,57,576,957,9576是3的倍数 样例2说明:有两个111都是3的倍数
序号 标题 作者 发表时间 费用 订购数 操作