1 条题解
-
0
自动搬运
来自洛谷,原作者为

luhongrui
AFO搬运于
2025-08-24 21:21:15,当前版本为作者最后更新于2019-09-28 10:28:23,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
P1125 【笨小猴】
思路
将题目的输入字符中相同的数量存储到一个数组中,然后找出最大和最小,相减后判断是否是质数,输出。
实现
废话不多说,上代码:
#include<bits/stdc++.h> using namespace std; int a[26];//用来储存每一个字母的数量 int main(){ int le=0,xunhuan=0,maxn=-500,minn=9999;//le 是单词的长度,xunhuan 是临时变量 string s; cin>>s; le=s.size();//求出单词的长度 for(int i=0;i<=le-1;i++){ xunhuan=s[i]; a[xunhuan-97]++;//累计字母数量 } int zhishu[25]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};//质数表,100以内足够用了 for(int i=0;i<=25;i++){ if(a[i]<minn&&a[i]!=0)minn=a[i];//找出最少的字母 } for(int i=0;i<=25;i++){ if(a[i]>maxn)maxn=a[i];//找出最多的字母 } int cha=maxn-minn;//相减 for(int i=0;i<=24;i++){ if(cha==zhishu[i]){ cout<<"Lucky Word"<<endl; cout<<cha;//如果是质数直接输出并结束程序 return 0; } } cout<<"No Answer"<<endl;//如果找完了还没有就不是质数 cout<<"0"; return 0; }3ms AC
最后在推荐一下自己的博客
- 1
信息
- ID
- 127
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者