倍数子串(timestr)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
此题是中山市第十二届义务教育段学生信息学邀请赛初中组 T2。
题目描述
对数字有着异于常人的热爱。有一天,他随便写出来一个数字——,然后开始对着这个数字写写画画。他发现,从这个数字中随便选出连续的一段( 把这个称为连续子串),有可能是 的倍数,例如 ,,, 等;也有可能是 的倍数,例如 , 等。
的老师恰好路过此处,他向正沉迷于自己发现的 提了一个有趣的问题——给定一个指定的数字串,请问有多少连续子串是 或者 的倍数呢?
老师还特别提醒他:
- 连续子串的开头可以是 ;
- 两个连续子串只要是从数字串中的不同位置选出来的,它们就算是不同的;
- 如果一个连续子串同时是 和 的倍数,应当只被计算一次哦!
输入格式
一行一个数字串,长度为 。
输出格式
一行一个整数,表示所有的连续子串中,为 或者 的倍数的数量。
输入输出样例 #1
输入 #1
04320
输出 #1
11
输入输出样例 #2
输入 #2
2000
输出 #2
9
说明/提示
【样例 解释】
所有满足题意的连续子串分别为:,,,,,,,,,,。其中有两个相同的 ,这是因为它们是从数字串中的不同位置选出来的(一个在开头处,一个在结尾处)。
【测试点约束】
对于 的数据,保证 。
对于 的数据,保证 。
对于 的数据,保证 。