纯C有没有大佬看一下,为啥50分呢,样例也过了
查看原帖
纯C有没有大佬看一下,为啥50分呢,样例也过了
892700
elong123楼主2023/4/6 11:51
#include<stdio.h>
#include<string.h>
#include<math.h>
bool prime(int a);
int main()
{                 //给min初始值
	int sum=0,max=0,min=200;   //我这里犯了一个错误 min 的初始值不能为0
	int a[26]={0},h,b;
	//max - min 的值质数值
	char s[101];
	scanf("%s",s);
	//我需要统计每次单吃出现的次数
	for(int i = 0;i < strlen(s); i++){
		b=s[i];//将字符赋值给b  
		//这里类比于桶排序
		a[b-'a']++;//将字符转化成数字赋值在数组a中   
	}
	//对这大小为26的数组进行遍历   z找到最大值与最小值
	for(int i =0 ;i < 26; i++){
		if(a[i]!=0){
			if(a[i]>max) max = a[i];
			if(a[i]<min) min = a[i];
		}
	}
//	printf("%d %d",max,min);
	//进行素数比较 判断 m 是不是素数
	if(prime(max-min)){
		printf("Lucky word\n");
		printf("%d",max-min);
	}
	else{
		printf("No Answer\n");
		printf("0");
	}
//	return 0;
}
bool prime(int a){
	int mm=int(sqrt(double(a)+1.0));
	if(a <= 1)return false;
    for(int i = 2;i <= sqrt(mm);i++){
    	if(a % i==0) return false;
	}
	return true;
}
2023/4/6 11:51
加载中...