2023蓝桥杯校内模拟赛-大乘积

问题描述:

小蓝有 3030 个数,分别为:99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 。

小蓝可以在这些数中取出两个序号不同的数,共有 30×29/2=435 种取法。

请问这 435种取法中,有多少种取法取出的两个数的乘积大于等于 2022。

import sys
import os
sum=0
n=[99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77]
for i in range(0,31):
    for j in range(i+1,30):  #因为这个是i++就是索引到30即可
        if n[i]*n[j]>=2022:
            sum+=1
print(sum)
问题描述: 小蓝有 3030 个数,分别为:99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 。 小蓝可以在这些数中取出两个序号不同的数,共有 30×29/2=435 种取法。 请问这 435种取法中,有多少种取法取出的两个数的乘积大于等于 2022。 import sys import os sum=0 n=[99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77] for i in range(0,31):     for j in range(i+1,30): #因为这个是i++就是索引到30即可         if n[i]*n[j]>=2022:             sum+=1 print(sum)
经验分享 程序员 微信小程序 职场和发展