2023年7月23日 星期日

ZeroJudge python解答:a121. 質數又來囉(未完)

 

a121. 質數又來囉 - 高中生程式解題系統 (zerojudge.tw)

我的第三次解答。送出解答,發現出現TLE:

import sys

def is_prime(n):
    if n == 1:
        return 0
    else:
        if n%2 == 0 and n != 2:
            return 0
        else:
            if n % 3 == 0 and n != 3:
                return 0
            else:
                for i in range(5,int(n*0.5)+1, 6):
                    if n % i == 0:
                        return 0
                    if n % (i+2) == 0:
                        return 0
    return 1

for line in sys.stdin:
    if line != "\n":
        a,b = [int(i) for i in line.split()]
        k = 0        
        for i in range(a,b+1):
            k = k + is_prime(i)
        print(k)
    else:
        break 

 送出解答,還是TLE:

 

我的第二次解答。送出解答,發現出現TLE:

import sys

def is_prime(p):
    for i in range(2,p):
        if p%i == 0:
            return False
    return True

for line in sys.stdin:
    if line != "\n":
        a,b = [int(i) for i in line.split()]
        k = 0        
        for i in range(a,b+1):
            if is_prime(i):
                k = k + 1
        print(k)
    else:
        break

 送出解答:


我的第一次解答,使用集合來處理。後來參考資料來源2.uranusjr/print_primes.md,只要寫個is_prime()來判別即可。:

import sys
for line in sys.stdin:
    if line != "\n":
        a,b = [int(i) for i in line.split()]
        all = b-a+1
        S =set()
        for i in range(a,b+1):
            for j in range(2,i):
                if i%j == 0:
                    S.add(i)
        k = len(S)
        print(all-k)
    else:
        break

 送出測試:

送出解答:

資料來源:
1.高中生解題系統
 

ZeroJudge解題
ZeroJudge python解答:a004. 文文的求婚
ZeroJudge python解答:a005. Eva 的回家作業
ZeroJudge python解答:a006. 一元二次方程式
ZeroJudge python解答:a009. 解碼器
ZeroJudge python解答:a010. 因數分解
ZeroJudge python解答:a015. 矩陣的翻轉
ZeroJudge python解答:a017. 五則運算
ZeroJudge python解答:a020. 身分證檢驗
ZeroJudge python解答:a021. 大數運算
ZeroJudge python解答:a022. 迴文
ZeroJudge python解答:a024. 最大公因數(GCD)
ZeroJudge python解答:a034. 二進位制轉換
ZeroJudge python解答:a038. 數字翻轉
ZeroJudge python解答:a040. 阿姆斯壯數
ZeroJudge python解答:a042. 平面圓形切割
ZeroJudge python解答:a044. 空間切割
ZeroJudge python解答:a053. Sagit's 計分程式
ZeroJudge python解答:a054. 電話客服中心
ZeroJudge python解答:a058. MOD3
ZeroJudge python解答:a059. 完全平方
ZeroJudge python解答:a065. 提款卡密碼
ZeroJudge python解答:a104. 排序
ZeroJudge python解答:a121. 質數又來囉
ZeroJudge python解答:a148. You Cannot Pass?!
ZeroJudge python解答:a149. 乘乘樂
ZeroJudge python解答:a215. 明明愛數數
ZeroJudge python解答:a216. 數數愛明明
ZeroJudge python解答:a224. 明明愛明明
ZeroJudge python解答:a225. 明明愛排列
ZeroJudge python解答:a244. 新手訓練 ~ for + if
ZeroJudge python解答:a248. 新手訓練 ~ 陣列應用
ZeroJudge python解答:a263. 日期差幾天
ZeroJudge python解答:a410. 解方程
ZeroJudge python解答:a528. 大數排序
ZeroJudge python解答:a647. 投資專家
ZeroJudge python解答:a693. 吞食天地
ZeroJudge  python解答:a694. 吞食天地二
ZeroJudge python解答:a738. 最大公约数

 


 

 

沒有留言:

張貼留言

軟體定義網路SDN-主題2-1 OpenFlow 概述

學習目標: 一.介紹OpenFlow特性 二.介紹OpenFlow Ports:實體port、邏輯port、保留port 一.介紹OpenFlow特性 1.OpenFlow 是 (1).控制器與交換器之間溝通的通訊協定 (2)使用了TCP (port 6653;舊版 port 6...