Description
定义一个数字为幸运数字当且仅当它的所有数位都是444或者777。
比如说,47、744、447、744、447、744、4都是幸运数字而5、17、4675、17、4675、17、467都不是。
现在,给定一个字符串sss,请求出一个字符串,使得:
1、它所代表的整数是一个幸运数字;
2、它非空;
3、它作为sss的子串(不是子序列)出现了最多的次数(不能为0次)。
请求出这个串(如果有多解,请输出字典序最小的那一个)。
Input
串s(1≤∣s∣≤50)s(1\le |s|\le 50)s(1≤∣s∣≤50)。sss只包含数字字符,可以有前导零。
Output
一个串表示答案。
无解输出−1-1−1。
Sample Input
047
Sample Output
4
Solution
统计4,74,74,7的个数,如果444的数量不小于777的数量则为444,否则是777,如果不存在4,74,74,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;
}