1 条题解

  • 0
    @ 2025-4-12 21:43:14

    C :

    #include "stdio.h"
    #include "string.h"
    #include <math.h>
    
    
    int arr[30];
    
    
    void main()
    {
    	char str[200];
    	int i,length,max,min,z,sum;
    	while (scanf("%s", &str) != EOF)
    	{
    		max = 0; min = 999999;
    		for (i = 0; i <= 30; i++) arr[i] = 0;
    		length = strlen(str);
    		for (i = 0; i <= length; i++)
    		{
    			if ((str[i] >= 'a') && (str[i] <= 'z')) z = str[i] - 'a';
    			else z = str[i] - 'A';
    			arr[z]++;
    			
    		}
    		for (i = 0; i <= 30; i++)
    		{
    			if (arr[i] > max) max = arr[i];
    			if ((arr[i] < min)&&(arr[i]!=0))  min = arr[i];
    		}
    		sum = max - min;
    		z = 0;
    		for (i = 2; i < sum; i++)
    		{
    			if (sum%i == 0)
    			{
    
    				z = 1;
    				break;
    			}
    		}
    		if (( z== 0)&&(sum>1))	printf("Lucky Word\n%d\n", sum);
    		else printf("No Answer\n0\n");
    	}
    
    }
    

    C++ :

    #include<stdio.h>
    int judge(int a){
    	if(a==1||a==0) return 0;
    	for(int i=2;i<a;i++)
    	if(a%i==0) return 0;
    	return 1;
    }
    int main(){
    	char a[101];
    	while(scanf("%s",a)!=EOF){
    		int b[26];
    		for(int i=0;i<26;i++){
    			b[i]=0;
    		}
    		int t=0,max=0,min=100;
    		while(a[t]!=NULL){
    			b[a[t]-97]++;
    			t++;
    		}
    		for(int i=0;i<26;i++){
    			if(max<b[i]) max=b[i];
    			if(min>b[i]&&b[i]!=0) min=b[i];
    		}
    		if(judge(max-min)==1) {
    			printf("Lucky Word\n");
    			printf("%d\n",max-min);
    		}
    		else printf("No Answer\n0\n");
    		
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    1374
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者