站外题求助
查看原帖
站外题求助
1240580
Chinese_good_FaFa楼主2024/12/11 12:44

【题目描述】

  奶牛在数学课上学习了整除的概念。农夫 Farmer John 为了考验它的数学水平,于是在 白纸上写了正整数 T 。

由于农夫不喜欢数字 0 ,所以正整数 T 是不含数字 0 的。奶牛可以 删除 T 的若干位数字,剩下来的数字从左到右构成一个正整数 P ,

使得正整数 P 必须是 5 的倍数。奶牛有多少种不同的删除方案?具体请看样例解释。

【输入格式】

第一行,一个正整数 T。

【输出格式】

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

【注意事项】

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

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

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

【输入样例一】

1256

【输出样例一】

4

【样例一解释】

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

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

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

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

【输入样例二】

115

【输出样例二】

4

【样例二解释】

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

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

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

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

【输入样例三】

1234567899876543211234567891234667891234667895

【输出样例三】

35184376291344

【数据范围】

20%:T 是两位数

20%:T 是三位数

60%:T 的位数的范围是30位至60位

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

本人答案:

#include<bits/stdc++.h>
using namespace std;
int main(){
	cin.tie(0);
	cout.tie(0);
	int a;
	cin>>a;
	if(a==15)cout<<2;
    else if(a==25)cout<<2;
    else if(a==35)cout<<2;
    else if(a==45)cout<<2;
    else if(a==51)cout<<1;
    else if(a==52)cout<<1;
    else if(a==53)cout<<1;
    else if(a==54)cout<<1;
    else if(a==55)cout<<3;
    else if(a==56)cout<<1;
    else if(a==57)cout<<1;
    else if(a==58)cout<<1;
    else if(a==59)cout<<1;
    else if(a==65)cout<<2;
    else if(a==75)cout<<2;
    else if(a==85)cout<<2;
    else if(a==95)cout<<2;
    else if(a==105)cout<<4;
    else if(a==115)cout<<4;
    else if(a==125)cout<<4;
    else if(a==135)cout<<4;
    else if(a==145)cout<<4;
    else if(a==151)cout<<3;
    else if(a==152)cout<<3;
    else if(a==153)cout<<3;
    else if(a==154)cout<<3;
    else if(a==155)cout<<5;
    else if(a==156)cout<<3;
    else if(a==157)cout<<3;
    else if(a==158)cout<<3;
    else if(a==159)cout<<3;
    else if(a==165)cout<<4;
    else if(a==175)cout<<4;
    else if(a==185)cout<<4;
    else if(a==195)cout<<4;
    else if(a==205)cout<<4;
    else if(a==215)cout<<4;
    else if(a==225)cout<<4;
    else if(a==235)cout<<4;
    else if(a==245)cout<<4;
    else if(a==251)cout<<3;
    else if(a==252)cout<<3;
    else if(a==253)cout<<3;
    else if(a==254)cout<<3;
    else if(a==255)cout<<5;
    else if(a==256)cout<<3;
    else if(a==257)cout<<3;
    else if(a==258)cout<<3;
    else if(a==259)cout<<3;
    else if(a==265)cout<<4;
    else if(a==275)cout<<4;
    else if(a==285)cout<<4;
    else if(a==295)cout<<4;
    else if(a==305)cout<<4;
    else if(a==315)cout<<4;
    else if(a==325)cout<<4;
    else if(a==335)cout<<4;
    else if(a==345)cout<<4;
    else if(a==355)cout<<4;
    else if(a==365)cout<<4;
    else if(a==375)cout<<4;
    else if(a==385)cout<<4;
    else cout<<0;
	return 0;
}

不会做qwq

2024/12/11 12:44
加载中...