#C03L07P09. C03.L07.字符串入门.附加题2.删数字

C03.L07.字符串入门.附加题2.删数字

题目描述

奶牛在数学课上学习了整除的概念。农夫 Farmer John 为了考验它的数学水平,于是在白纸上写了正整数 T。由于农夫不喜欢数字 0,所以正整数 T 是不含数字 0 的。奶牛可以删除 T 的若干位数字,剩下来的数字从左到右构成一个正整数 P,使得正整数 P 必须是 5 的倍数。奶牛有多少种不同的删除方案?具体请看样例解释。

输入格式

一个正整数 T。

输出格式

一个整数,奶牛不同的删除方案数。

注意事项

  1. 奶牛可以删除 0 个数字(即不删除任何数字)。

  2. 奶牛不能把 T 全部删除掉。即至少要剩下 1 位数字。

  3. 由于 T 的位数可能较长,建议用字符串形式读入,详细见样例三。

样例

1256
4
115
4
1234567899876543211234567891234667891234667895
35184376291344

样例解释

  1. 样例1

奶牛有 4 种不同的删除方案:

第 1 种方案:删除T 的第四位数字,剩下的P=125,是 5 的倍数。

第 2 种方案:删除T 的第一位和第四位数字,剩下的P=25,是 5 的倍数。第 3 种方案:删除T 的第二位和第四位数字,剩下的P=15,是 5 的倍数。

第 4 种方案:删除T 的第一位、第二位、第四位数字,剩下的P=5,是 5 的倍数。

  1. 样例2

奶牛有 4 种不同的删除方案:

第 1 种方案:不删除任何数字,剩下的P=115,是 5 的倍数。

第 2 种方案:删除T 的第一位数字,剩下的P=15,是 5 的倍数。第 3 种方案:删除T 的第二位数字,剩下的P=15,是 5 的倍数。

第 4 种方案:删除T 的第一位、第二位数字,剩下的P=5,是 5 的倍数。

数据范围

测试点序号 数据说明
样例1 T 是两位数
样例2 T 是两位数
样例3 T 是三位数
样例4 T 是三位数
样例5 T 的位数的范围是 30 位至 60 位
样例6 T 的位数的范围是 30 位至 60 位
样例7 T 的位数的范围是 30 位至 60 位
样例8 T 的位数的范围是 30 位至 60 位
样例9 T 的位数的范围是 30 位至 60 位
样例10 T 的位数的范围是 30 位至 60 位

温馨提示

后 6 个测试点,答案可能较大,C++的请用 long long 类型。