- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 。
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个 Lucky Word,这样的单词很可能就是正确的答案.
一个单词,其中只可能出现小写字母,并且长度小于100.
共两行,第一行是一个字符串,假设输入的的单词是 Lucky Word,那么输出 Lucky Word,否则输出 No Answer; 。
第二行是一个整数,如果输入单词是 Lucky Word,输出maxn-minn的值,否则输出 0.
error
Lucky Word
2
olympic
No Answer
0
【输入输出样例 1 解释】 。
单词 error 中出现最多的字母 r 出现了 3 次,出现次数最少的字母出现了 1 次,3-1=2,2是质数.
【输入输出样例 2 解释】 。
单词 olympic 中出现最多的字母 出现了 1 次,出现次数最少的字母出现了 1 次,1-1=0,0 不是质数.
(本处原题面错误已经修正) 。
noip2008 提高第一题 。
这道题我们大致可以分为以下几个步骤: 1.输入一个字符串,并遍历这个字符串,设立Numbers数组(我们暂且可以将Numbes数组初始化为0),存储这个字符串中出现字符的个数. 。
2.遍历这个数组,并找出这个数组中最小的,并且字符串中出现过的字符的次数的最小值minn和最大值maxn(最小值的判断有一个坑——那就是我们不能仅仅找出数组中的最小值,同时这个最小值必须得>0, 表示这个字符在输入的字符串中出现过) 。
3.定义一个函数,判断一个整数是否是质数 。
4.找出最小值和最大值以后,定义diff变量=maxn-minn,判断这个数是否是质数,如果不是质数,第一行输出"No Answer",第二行输出0即可。 如果这个数是质数,则第一行输出"Lucky Word",第二行输出diff这个变量的值就可以了.
#include <iostream>
#include <cmath>
using namespace std;
// 判断一个数是否是质数
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
//输入字符串
string s;
cin >> s;
//利用Numbers数组,来判断这个字符串中出现的字母的次数
int Numbers[26] = { 0 };
for (int i = 0; i < s.size(); i++) {
int n = (s[i] - 'a');
Numbers[n]++;
}
int maxn = 0, minn = 110;
for (int i = 0; i < 26; i++) {
if (Numbers[i] > maxn) maxn = Numbers[i];
//在这里一定要注意,不能直接比对Numbers数组中最小的那位,而是Numbers数组中最小的那位,并且它的值不能等于0(即这个字母至少在字符串中出现过一次)
if (Numbers[i] > 0 && Numbers[i] < minn) minn = Numbers[i];
}
int diff = maxn - minn;
if (isPrime(diff)) {
cout << "Lucky Word" << endl;
cout << diff;
}
else {
cout << "No Answer" << endl;
cout << 0;
}
return 0;
}
这道题我想告诉大家的是,并不是在遍历数组找最小值的时候,一定只有最小值这个逻辑条件。 比如这道题,不仅要找最小值,并且这个最小值还不能是0,一定要清楚的判断我们的需求,然后根据这个需求来书写判断逻辑 。
最后此篇关于[NOIP2008提高组]笨小猴(洛谷题号P1125)的文章就讲到这里了,如果你想了解更多关于[NOIP2008提高组]笨小猴(洛谷题号P1125)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有两个关于这段代码的问题。 double*** pdata 和 int*** pmask 是什么意思?指向指针的指针?为什么或何时需要这样做? int 和 double 是不同的类型,double*
谁能用英文解释一下这是怎么回事? std::vector cats; //I get that cats is a vector of Cat objects if (std::find(cats.b
在C中,下列声明有区别吗: float DoSomething( const float arr[] ); 对比 float DoSomething( const float* arr ); 一个比另
我到 question 36我认为这很简单。像往常一样,我显然错了。我正在尝试在 Python 中执行此操作(因为我不知道 Python)。我的代码如下。我得到 19 作为输出,这显然是不正确的。我不
我已经通读了 MSDN 上的 Winsock2 文档,但如果有人能提供帮助,我仍然需要澄清一些事情。 我计划做一些类似于您在使用 WSAAsyncSelect() 时获得的设置,但使用一个单独的线程。
#include int main () { int *p = (int *)malloc((100*sizeof(int))); p++; free(p); /* do some
我想提供未知的“对象”并返回其成员之一的值。在 C# 中需要响应。 一般来说,我想我正在寻找这个方法的代码公共(public)静态对象 GetObjectMemberValue (object myO
由异常准确的 AI 提供支持的 20 个问题的简单在线游戏。 他们怎么猜得这么好? 最佳答案 您可以将其视为二进制搜索算法。在每次迭代中,我们都会提出一个问题,该问题应该会消除大约一半的可能单词选择。
拜托,有人可以解释一下吗: 如果文档说 STL std::vector finding element speed performace = O(ln(n)),这是什么意思。 O(ln(n)) - 什
我正在尝试通过遵循 Microsoft 为 ADSI API 和 Windows-RS crate 发布的 c++ 示例来使用 Rust 的事件目录。我不太明白这里发生了什么: https://doc
这是处理具有重复元素的单个列表的 nieve 案例,我在处理一些嵌套列表时遇到了麻烦,所以我想先写简单的案例。 所以我有: (defn packDuplicatesIntoLists [lis
我是新来的。我正在尝试解决此练习 Problem 18只是为了加强我的解决能力。我已经编码了答案。该任务要求“在 1,000,000 以下的质数中,有多少个数位之和等于两周中的天数?” (两周是 14
我正在尝试对POCO类中的某些字段进行索引,并将某些属性装饰为“忽略= true”,并且这些字段不应被索引,而应该被存储。我希望这些字段出现在搜索结果中,但不应作为索引。 我正在尝试对应索引的几个字段
我是编码的新手,正在尝试通过完成 Project Euler 问题来学习 Swift。我似乎有导致大量错误的不同版本的 Swift 代码。如果您对我的问题的格式有任何建议以供将来引用,请告诉我,谢谢。
对于problem statement在 google codejam 2008:第 1A 轮问题 3 In this problem, you have to find the last three
我是一名优秀的程序员,十分优秀!