白駿1978号:小数を探す


質問する


https://www.acmicpc.net/problem/1978

に近づく


Programmers Lv 1の小数点を検索では、N番目の数までの小数はすべてエラトネスのふるいで見つかっていますが、この問題は少数かどうかを判断する問題で、配列に1以外の値があれば、直接繰り返しを止めるように近づくことです.この場合、繰り返し文はルート値にのみ繰り返します.

コード#コード#


📌 python

import sys
input = sys.stdin.readline

n = int(input())

numbers = list(map(int, input().split()))

sum = 0

for number in numbers :
    if(number > 1) :
        sosu = []
        i=1
        while(i <= number**0.5) :
            if(number % i == 0) :
                sosu.append(i)
            if(len(sosu) > 1) :
                break
            i+=1
        if(len(sosu) == 1) :
            sum += 1
    
print(sum)