猫史档案馆


三道编程题(编写程序)

用户:方圆三角方圆三角查看:1 回复:1 评论:1 创建时间:2023-05-14T20:03:59


题目纯属自编,若有相似,纯属巧合。

编写程序的题,就不说明什么是编写程序了。

题目中的小方、小圆、小角就是方圆三角(我的用户名)拆开后的名字,所以我的用户名指的是几何图形。

本次有3道题,请在评论区发送代码时按顺序发送。

 

1.文章1(python)

小方写了一篇文章,发布在了XXX网站,他想请小圆同学加几条广告。

文章内容是p(长度len1),广告词是ad(长度len2),在文章中出现广告n次,最后输出加工后的文章gp,广告可以出现在文章的随机位置,但广告不能嵌套(见错误输出)。

输入格式:分次输入p、ad和n(范围见数据规模与运算)。

输出格式:输出广告gp。

数据规模与运算:len1在5~100之间,len2在1~5之间,len>n。

样例输入:

I like my friends, they are Yuan and Jiao.
HAPPY
3

样例输出:

I likeHAPPY my frieHAPPYnds, they are Yuan aHAPPYnd Jiao.

(HAPPY被随机分布在文章中)

错误输出(输入即样例输入):

I like my frieHAPHAPPYPYnds, they are Yuan aHAPPYnd Jiao.

(中间HAPPY中插入了另一个HAPPY,所以不对)

请将代码发在评论区,备注“1”,如:

#1
代码1
代码2
代码3
…

 

 

 

2.文章2(python)

小圆看了有广告的文章,觉得不错,但是还是不满足。

小圆希望文章可以加一个VIP功能,直接去广告。

同样还是文章p(长度len1),广告ad(长度len2),出现次数n,加工后的广告gp,但是多了是否启用VIP功能,用vip表示,当vip=1时,表示启用去广告,相反,当vip=0时,不去广告。

输入格式:分次输入p、ad、n和vip(范围见数据规模与运算)。

输出格式:如果vip=0,输出广告gp,否则输出p。

样例输入与输出1:

input:
Hello world!
apple
2
0

output:
Hello worappleld!

样例输入与输出2:

input:
Hello world!
apple
2
1

output:
Hello world!

数据规模与运算:len1在5~100之间,len2在1~5之间,len>n,vip为0~1之间的整数。

请将代码发在评论区,备注“2”,如:

#2
代码1
代码2
代码3
…

 

 

 

3.文章3(python)

小角上了XXX网站,看了文章,觉得很好,但只输入1就能去广告,感觉不如不搞VIP功能,他提出了一个想法,如果vip是个质数,那么vip算作有效的密码。

同样还是文章p(长度len1),广告ad(长度len2),出现次数n,加工后的广告gp,但是多了是否启用VIP功能的规则。

输入格式:分次输入p、ad、n和vip(范围见数据规模与运算)。

输出格式:如果vip不符合规则,输出广告gp,否则输出p。

样例输入:

ABCDE
123
2
2

样例输出:

ABCDE

数据规模与运算:len1在5~100之间,len2在1~5之间,len>n,vip为1~10之间的整数。

请将代码发在评论区,备注“3”,如:

#3
代码1
代码2
代码3
…

题目到此结束。

 

如有更改,详见评论区置顶。


回复

上一页1 页 / 共 1下一页
边城过客边城过客

#1

import random

p = input()
ad = input()
n = int(input())

len1 = len(p)
len2 = len(ad)

# 在文章中随机插入广告,但广告不能嵌套
for i in range(n):
idx = random.randint(0, len1)
# 若广告不能插入,则重选位置
while ad in p[idx:idx+len2]:
idx = random.randint(0, len1)
p = p[:idx] + ad + p[idx:]

print(p)

#2

p = input()
ad = input()
n = int(input())
vip = int(input())

len1 = len(p)
len2 = len(ad)

# 直接替换所有广告
if vip == 1:
gp = p.replace(ad, '')
else:
for i in range(n):
idx = random.randint(0, len1)
while ad in p[idx:idx+len2]:
idx = random.randint(0, len1)
p = p[:idx] + ad + p[idx:]
gp = p

print(gp)

#3

import math

p = input()
ad = input()
n = int(input())
vip = int(input())

len1 = len(p)
len2 = len(ad)

# 判断vip是否为质数
if vip < 2 or any(vip % i == 0 for i in range(2, int(math.sqrt(vip))+1)):
gp = p
else:
for i in range(n):
idx = random.randint(0, len1)
while ad in p[idx:idx+len2]:
idx = random.randint(0, len1)
p = p[:idx] + ad + p[idx:]
gp = p

print(gp)

点赞0


评论