鱼C论坛

 找回密码
 立即注册
查看: 196|回复: 1

[已解决]想问这题的正确答案是什么?初中生的竞赛好难

[复制链接]
发表于 2024-3-9 16:49:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
也许你早就知道阶乘的含义,N 阶乘是由 1 到 N 相乘而产生,如:
12!= 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 = 479 001 600
12!=1×2×3×4×5×6×7×8×9×10×11×12=479 001 600
12 的阶乘最右边的非零位为 6
写一个程序,计算 N 阶乘的最右边的非零位的值。
注意:10 000 000!
10 000 000! 有 2499999
2499999 个零。
输入格式
仅一行包含一个正整数 N
输出格式
一个整数,表示最右边的非零位的值。
输入 12
输出 6
选项
A、
num = int(input())
tot = 1
for i in range(1,num+1):
tot *= i
for j in tot:
if j != 0:
print(j)
break
B、
num = int(input())
tot = 1
for i in range(1,num+1):
tot *= i
tot = str(tot)
for j in tot:
if j != 0:
print(j)
break
C、
num = int(input())
tot = 1
for i in range(1,num+1):
tot *= i
tot = str(tot)
for j in range(len(tot)):
if tot[len(tot)-j-1] == '0':
continue
else:
print(tot[len(tot)-j-1])
break
D、
num = int(input())
tot = 1
for i in range(1,num+1):
tot *= i
tot = str(tot)
for j in range(len(tot)):
if tot[len(tot)-j] != '0':
print(tot[len(tot)-j])
break
最佳答案
2024-3-9 16:50:34
答案应该是B。

首先,我们需要计算阶乘的值。可以使用一个循环来累乘从1到N的数。在这个循环中,我们可以使用一个变量`tot`来保存阶乘的结果。

然后,我们需要找到最右边的非零位。我们可以将阶乘的结果转换成字符串,并从右往左遍历每一位数字。当找到第一个非零数字时,就可以输出它并跳出循环。

完整的代码如下:

  1. num = int(input())
  2. tot = 1
  3. for i in range(1, num+1):
  4.     tot *= i

  5. tot = str(tot)
  6. for j in tot[::-1]:
  7.     if j != '0':
  8.         print(j)
  9.         break
复制代码


这段代码首先读取用户输入的数字N,然后计算N的阶乘,存储在变量`tot`中。接下来,将阶乘结果转换成字符串,并使用反向遍历来寻找最右边的非零位。找到后,输出该数字并跳出循环。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-9 16:50:34 | 显示全部楼层    本楼为最佳答案   
答案应该是B。

首先,我们需要计算阶乘的值。可以使用一个循环来累乘从1到N的数。在这个循环中,我们可以使用一个变量`tot`来保存阶乘的结果。

然后,我们需要找到最右边的非零位。我们可以将阶乘的结果转换成字符串,并从右往左遍历每一位数字。当找到第一个非零数字时,就可以输出它并跳出循环。

完整的代码如下:

  1. num = int(input())
  2. tot = 1
  3. for i in range(1, num+1):
  4.     tot *= i

  5. tot = str(tot)
  6. for j in tot[::-1]:
  7.     if j != '0':
  8.         print(j)
  9.         break
复制代码


这段代码首先读取用户输入的数字N,然后计算N的阶乘,存储在变量`tot`中。接下来,将阶乘结果转换成字符串,并使用反向遍历来寻找最右边的非零位。找到后,输出该数字并跳出循环。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 19:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表