用户:
方圆三角查看: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
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
评论