蓝桥杯Day3

文章概述了四个编程题目:统计单词元音和辅音,找出不是给定整数倍的数,计算不含数字2的洁净数,以及对图像进行3x3模糊处理。每个题目都涉及基础的算法和数据结构应用。
摘要由CSDN通过智能技术生成

枚举:

蓝桥杯160:

题目描述

给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。

元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。

输入描述

输入格式:

输入一行,包含一个单词,单词中只包含小写英文字母。单词中的字母个数不超过 100。

题目描述

给定三个整数 a,b,ca,b,c,如果一个整数既不是 aa 的整数倍也不是 bb 的整数倍还不是 cc 的整数倍,则这个数称为反倍数。

请问在 1 至 nn 中有多少个反倍数。

输入描述

输入的第一行包含一个整数 nn。

第二行包含三个整数 a,b,ca,b,c,相邻两个数之间用一个空格分隔

题目描述

小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。

请问在整数 1 至 nn 中,洁净数有多少个?

输入描述

输入的第一行包含一个整数 n(1≤n≤106)n(1≤n≤106)。

题目描述

在一个 nn 行 mm 列的方格图上有一些位置有地雷,另外一些位置为空。

请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。

输入描述

输入的第一行包含两个整数 n,mn,m。

第 22 行到第 n+1n+1 行每行包含 mm 个整数,相邻整数之间用一个空格分隔。如果对应的整数为 00,表示这一格没有地雷。如果对应的整数为 11,表示这一格有地雷。

其中,1≤n,m≤1001≤n,m≤100 分钟后还是在当天。

输出描述

输出 nn 行,每行 mm 个整数,相邻整数之间用空格分隔。

对于没有地雷的方格,输出这格周围的地雷数量。对于有地雷的方格,输出 9。

模拟题

饮料换购

题目描述

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。

输入描述

输入一个整数 n(0<n<1000)n(0<n<1000),表示开始购买的饮料数量。

输出描述

输出一个整数,表示实际得到的饮料数

代码:

图像模糊

题目描述

小蓝有一张黑白图像,由 n×mn×m 个像素组成,其中从上到下共 nn 行,每行从左到右 mm 列。每个像素由一个 00 到 255255 之间的灰度值表示。

现在,小蓝准备对图像进行模糊操作,操作的方法为:

对于每个像素,将以它为中心 3×33×3 区域内的所有像素(可能是 99 个像素或少于 99 个像素)求和后除以这个范围内的像素个数(取下整),得到的值就是模糊后的结果。

请注意每个像素都要用原图中的灰度值计算求和。

输入描述

输入的第一行包含两个整数 n,mn,m。

第 22 行到第 n+1n+1 行每行包含 mm 个整数,表示每个像素的灰度值,相邻整数之间用一个空格分隔。

其中,1≤n,m≤1001≤n,m≤100 。

输出描述

输出 nn 行,每行 mm 个整数,相邻整数之间用空格分隔,表示模糊后的图像。

代码:

螺旋矩阵

题目描述

对于一个 nn 行 mm 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。

例如,一个 4 行 5 列的螺旋矩阵如下:

1 2 3 4 5

14 15 16 17 6

13 20 19 18 7

12 11 10 9 8

输入描述

输入格式:

输入的第一行包含两个整数 n,mn,m,分别表示螺旋矩阵的行数和列数。

第二行包含两个整数 r,cr,c,表示要求的行号和列号。

其中,2≤n,m≤1000,1≤r≤n,1≤c≤m2≤n,m≤1000,1≤r≤n,1≤c≤m。

输出描述

输出一个整数,表示螺旋矩阵中第 rr 行第 cc 列的元素的值。

代码:

128 498 149 155 198 548

def input_list():

  return list(map(int,input().splite()))

ans = 0

a = []

a.append(input_list())

for i in range(40):

  if a[0][i] == 0:

    a[0][i] = 2

    ans += 1

for i in range(0,30):

  for j in range (0,40):

    if a[i][j] == 2:

      for x in (-1,1):

        for y in (-1,1):

          if 1 <= i+x < 30 and 0 < j+y <40 and a[i+x][j+y] ==0:

            a[i+x][j+y] = 2

            ans +=1

print(ans)

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值