输入正整数s,显示从s开始的前20个素数,每个数按10列宽度显示,每行4个?

python idle 输入正整数s,显示从s开始的前20个素数,每个数按10列宽度显示,每行4个

按照题目要求编写的Python程序如下(注意图中源代码的缩进).

def isprime(n):

 if n<=1:return False

 for i in range(2,n):

  if n%i==0:

   return False

 else:

  return True

count=1

s=int(input())

while count<=20:

 if isprime(s)==True:

  if count%4==0:

   print("%10d"%s)

  else:

   print("%10d"%s,end='')

  count+=1

 s+=1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-02-01
可以使用循环判断从 s 开始的前 20 个数是否为素数,如果是,就将其输出,同时每输出 10 个数就换行,并按每行 4 个数来计算。代码如下:
Dim num As Integer = s
Dim count As Integer = 0
While count < 20
If IsPrime(num) Then
Console.Write($"{num,10}")
count += 1
If count Mod 4 = 0 Then Console.WriteLine()
End If
num += 1
End While
' 判断一个数是否为素数
Function IsPrime(ByVal n As Integer) As Boolean
For i = 2 To Math.Sqrt(n)
If n Mod i = 0 Then Return False
Next
Return True
End Function