版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/V5ZSQ/article/details/83212095
Description
定义一个数字为幸运数字当且仅当它的所有数位都是 或者 。
比如说, 都是幸运数字而 都不是。
现在,给定一个字符串 ,请求出一个字符串,使得:
1、它所代表的整数是一个幸运数字;
2、它非空;
3、它作为 的子串(不是子序列)出现了最多的次数(不能为0次)。
请求出这个串(如果有多解,请输出字典序最小的那一个)。
Input
串 。 只包含数字字符,可以有前导零。
Output
一个串表示答案。
无解输出 。
Sample Input
047
Sample Output
4
Solution
统计 的个数,如果 的数量不小于 的数量则为 ,否则是 ,如果不存在 则无解
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;
}