jMfOvO 2023-04-25 23:02 采纳率: 33.3%
浏览 11

关于#c++#的问题:洛谷P1125[NOIP2008提高组]笨小猴刚开始学,想不明白哪里错了,求解答//P1125#include <iostream>

洛谷P1125[NOIP2008 提高组]
刚开始学,想不明白哪里错了,求解答

//P1125
#include<iostream>
#include<cstring>
using namespace std;
char a[200];
int b = strlen(a);
int sum[26] = {};
int isPrime(int n) {//判断素数
 int isP =1;
 for (int i = 2; i < n; i++) {
  if (n % i == 0) {
   isP = 0;
   break;
  }
  //else
  // isP = 1;
 }
 if (n == 1||n==0)
  isP = 0;
 return isP;
}
int maxn(const char a[200]) {//判断出现次数最多的字母
 int max=0;
 for (int i = 0; i < b; i++) {
  sum[a[i] - 'a']++;
 }
 for (int i = 0; i < 26; i++) {
  if (sum[i] > max)
   max = sum[i];
 }
 return max;
}
int minn(const char a[200]) {//判断出现次数最少的字母
 int min=110;
 for (int i = 0; i < b; i++) {
  sum[a[i] - 'a']++;
 }
 for (int i = 0; i < 26; i++) {
  if (sum[i] < min&&sum[i]>0)
   min = sum[i];
 }
 return min;
}
int main() {
 cin >> a;
 int b = maxn(a) - minn(a);
 //cout << b;
 if (isPrime(b) == 1)
  cout << "Lucky Word" << endl << b;
 else if (isPrime(b) == 0)
  cout << "No Answer" << endl << "0";
 return 0;
}

  • 写回答

2条回答 默认 最新

  • 于扶摇 2023-04-25 23:52
    关注
    
    #include<iostream>  
    #include<cstring>  
    using namespace std;  
      
    char a[200];  
    int b = strlen(a);  
    int sum[26] = {};  
    int isPrime(int n) {//判断素数  
    int isP =1;  
    for (int i = 2; i < n; i++) {  
      if (n % i == 0) {  
      isP = 0;  
      break;  
      }  
      //else  
      // isP = 1;  
    }  
    if (n == 1||n==0)  
      isP = 0;  
    return isP;  
    }  
      
    int maxn(const char a[200]) {//判断出现次数最多的字母  
    int max=0;  
    for (int i = 0; i < b; i++) {  
      sum[a[i] - 'a']++;  
    }  
    for (int i = 0; i < 26; i++) {  
      if (sum[i] > max)  
      max = sum[i];  
    }  
    return max;  
    }  
      
    int minn(const char a[200]) {//判断出现次数最少的字母  
    int min=110;  
    for (int i = 0; i < b; i++) {  
      sum[a[i] - 'a']++;  
    }  
    for (int i = 0; i < 26; i++) {  
      if (sum[i] < min&&sum[i]>0)  
      min = sum[i];  
    }  
    return min;  
    }  
      
    int main() {  
    cin >> a;  
    int b = maxn(a) - minn(a);  
    //cout << b;  
    if (isPrime(b) == 1)  
      cout << "Lucky Word" << endl << b;  
    else if (isPrime(b) == 0)  
      cout << "No Answer" << endl << "0";  
    else  
      cout << "Invalid Input" << endl << "0";  
    return 0;  
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月25日

悬赏问题

  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥50 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大
  • ¥15 使用spss做psm(倾向性评分匹配)遇到问题
  • ¥20 vue+UEditor附件上传问题
  • ¥15 想做个WPS的自动化代码,不知道能做的起不。
  • ¥15 uniApp,生成安卓安卓包后,黑暗主题中间内容不生效,底部导航正常
  • ¥15 斯坦福自动漂移非线性模型反解