Python中最大的连续数字乘积
假设我们有两个数字num和k,我们必须找到num中k个连续数字的最大乘积。我们必须牢记,num必须保证>=k个数字。
因此,如果输入类似于num=52689762和k=4,则输出将为3024,连续4位数字的最大乘积为(8*9*7*6)=3024。
为了解决这个问题,我们将遵循以下步骤-
最大:=0
坎德:=1
而(num/10的商)^(k-1)>0,
坎德:=坎德*(数字mod10)
如果cand与0相同,则
数字:=数字的商/10
从循环中出来
位数:=(数字的最后一位)^k
坎德:=1
当数字>0时,执行
最大:=最大和最大
num:=nums/10的商
返回最大
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, num, k):
largest = 0
while num // 10 ** (k - 1) > 0:
digits = num % 10 ** k
cand = 1
while digits > 0:
cand *= digits % 10
if cand == 0:
break
digits //= 10
largest = max(largest, cand)
num //= 10
return largest
ob = Solution()num = 52689762
k = 4
print(ob.solve(num,k))输入值
52689762, 4
输出结果
3024
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短