Description
定义一个数字为幸运数字当且仅当它的所有数位都是 4 4 4或者 7 7 7。
比如说, 47 、 744 、 4 47、744、4 47、744、4都是幸运数字而 5 、 17 、 467 5、17、467 5、17、467都不是。
现在,给定一个字符串 s s s,请求出一个字符串,使得:
1、它所代表的整数是一个幸运数字;
2、它非空;
3、它作为 s s s的子串(不是子序列)出现了最多的次数(不能为0次)。
请求出这个串(如果有多解,请输出字典序最小的那一个)。
Input
串 s ( 1 ≤ ∣ s ∣ ≤ 50 ) s(1\le |s|\le 50) s(1≤∣s∣≤50)。 s s s只包含数字字符,可以有前导零。
Output
一个串表示答案。
无解输出 − 1 -1 −1。
Sample Input
047
Sample Output
4
Solution
统计 4 , 7 4,7 4,7的个数,如果 4 4 4的数量不小于 7 7 7的数量则为 4 4 4,否则是 7 7 7,如果不存在 4 , 7 4,7 4,7则无解
Code
#include<cstdio>
#include<cstring>
using namespace std;
char s[55];
int main()
{
scanf("%s",s);
int n=strlen(s),n4=0,n7=0;
for(int i=0;i<n;i++)
if(s[i]=='4')n4++;
else if(s[i]=='7')n7++;
if(!n4&&!n7)printf("-1\n");
else if(n4>=n7)printf("4\n");
else printf("7\n");
return 0;
}