当前位置:   article > 正文

【蓝桥杯】省模拟赛

【蓝桥杯】省模拟赛

1.奇数次数

问题描述
给定一个仅包含数字字符的字符串,统计一下这个字符串中出现了多少个值为奇数的数位。
输入格式
输入一行包含一个字符串,仅由数字字符组成。
输出格式
输出一行包含一个整数,表示答案。
样例输入

123455

样例输出

4

样例输入

111222333111222333111222333

样例输出

18

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string a;
  cin>>a;
  int sum=0,n=a.length();
  for(int i=0;i<n;i++)
  {
    if((a[i]-'0')%2==1) sum++;
  }
  cout<<sum;
  return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.最小步数

问题描述
小蓝要上一个楼梯,楼梯共有n级台阶(即小蓝总共要走n级)。小蓝可以走1级、2级或3级台阶。请问小蓝至少要多少步才能上到楼梯顶端?
输入格式
输入一行包含一个整数 n。
输出格式
输出一行包含一个数表示答案。
样例输入

9

样例输出

3

#include <iostream>
using namespace std;
int fun(int n)
{
  int sum=0;
  if(n>=3)
  {
    sum++;
    return sum+=fun(n-3);
  }
  else if(n==2) return 1;
  else if(n==1) return 1;
  else return 0;
}
int main()
{
  int n;
  cin>>n;
  cout<<fun(n);
  return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

3.最大极小值和最小极大值

问题描述
对于个例a[1], a[2]…a[n],.如果a[i满足ali< a[i-1]且a[i<a[i+ 1],则称a[i] 是一个极小值, 如果a[i]满浞a[i]>a[i-1]且a[i]>a[i+1],则称a[i]是一个极大值。给定一个序列,请找到极小值中最大的和极大值中最小的。
输入格式
输入的第一行包含一个整数n ,表示列的长度。第二行包含n个整数,相邻的整数之间使用一个空格分隔,表示给定的列。
输出格式
输出一包含两个整数,用一个空格分隔,分别表示极小值中最大的和极大值中最小的。输入保证至少存在一个极小值, 至少存在一个极大值。
样例输入

8
18244353

样例输出

35

#include <iostream>
using namespace std;
int main()
{
  int n,a[1001],max=0,min=10001;
  cin>>n;
  for(int i=0;i<n;i++)  cin>>a[i];
  for(int i=1;i<n-1;i++)
  {
    if(a[i]>a[i-1]&&a[i]>a[i+1])  min=(min<a[i]?min:a[i]);
    if(a[i]<a[i-1]&&a[i]<a[i+1])  max=(max>a[i]?max:a[i]);
  }
  cout<<max<<" "<<min;
  return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/374321
推荐阅读
相关标签
  

闽ICP备14008679号