现在,请你在N个整数中统计出“首尾质数”的总个数。
生活随笔
收集整理的這篇文章主要介紹了
现在,请你在N个整数中统计出“首尾质数”的总个数。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,我們需要編寫一個函數來判斷一個數是否為質數。可以使用以下的方法來判斷一個數x是否為質數:
1. 如果x小于2,直接返回False(質數定義為大于1的正整數)。
2. 如果x等于2,直接返回True(2是質數)。
3. 如果x是偶數(除2以外的其它偶數都不是質數),直接返回False。
4. 從3開始,逐個判斷x是否能被從3到x的平方根范圍內的奇數整除(因為偶數已經在步驟3時排除了)。如果能整除,則x不是質數,返回False;如果無法整除任何一個奇數,則x是質數,返回True。
有了判斷質數的函數,我們可以對給定的N個整數進行遍歷,檢查每個數是否是質數,同時判斷首尾是否都是質數。統計符合條件的數的個數,即為“首尾質數”的總個數。
以下是使用Python編寫的代碼實現:
```python
import math
def is_prime(n):
if n < 2:
return False
if n == 2:
return True
if n % 2 == 0:
return False
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
def count_prime_ends(numbers):
count = 0
for num in numbers:
str_num = str(num)
if is_prime(num) and is_prime(int(str_num[0])) and is_prime(int(str_num[-1])):
count += 1
return count
# 示例用法
numbers = [2, 13, 27, 31, 42, 53, 67, 71]
count = count_prime_ends(numbers)
print(count) # 輸出3
```
在示例中,輸入的整數序列為[2, 13, 27, 31, 42, 53, 67, 71],其中2、13、31、53、67、71都是“首尾質數”,所以輸出結果為3。
總結
以上是生活随笔為你收集整理的现在,请你在N个整数中统计出“首尾质数”的总个数。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钟面上5时,时针和分钟成()度角。[A.
- 下一篇: 哪些猫科动物,不会爬树