讨论 / 求救,只有八十分
wanghaoyu 2018-02-27 22:04:04
点我顶贴 收藏 删除
代码如下,谢谢大佬

#include<bits/stdc++.h>

using namespace std;

int maxn,minn,b[100],m=0,n;

char a[100];

bool isprime(int,int);

int main()

{

gets(a);

n=strlen(a);

for(int i=0;i<n;i++)

{

for(int j=0;j<n;j++)

{

if(a[i]==a[j])

m=m+1;

}

b[i]=m;

m=0;

}

minn=b[0];

maxn=b[0];

for(int i=1;i<n;i++)

{

maxn=max(maxn,b[i]);

minn=min(minn,b[i]);

}

bool p=isprime(maxn,minn);

if(p==true) cout<<"Lucky Word"<<endl<<maxn-minn;

else cout<<"No Answer"<<endl<<"0";

return 0;

}

bool isprime(int x,int y)

{

int n=x-y;

if(n<2)return false;

if(n==2)return true;

for(int i=2;i<=sqrt(n);++i)

if(n%i==0)

return false;

return true;

}

#1 沧海一声喵@2018-02-27 22:29:06
回复 删除
#include <stdio.h>

#include <string.h>

int isprime(int n){

int i;

if(n==1||n==0) return 0;

for(i=2;i*i<=n;i++)

if(n%i==0) return 0;

return 1;}

int main(){

int i,num[26]={0},len,max=0,min=200;

char s[101];

scanf("%s",&s);

len=strlen(s);

for(i=0;i<len;i++) num[s[i]-'a']++;

for(i=0;i<25;i++){

if(num[i]>max) max=num[i];

if(num[i]&&num[i]<min) min=num[i];}

if(isprime(max-min)){

printf("Lucky Word\n");

printf("%d",max-min);}

else{

printf("No Answer\n");

printf("%d",0);}

return 0;}

查看更多回复
提交回复