sieve

    1熱度

    3回答

    我最近做了這一點的代碼,但不知道是否有更快的方法來找到質數(不是篩子;我仍然試圖做到這一點)。有什麼建議?我使用Python,而我對它很陌生。 def isPrime(input): current = 0 while current < repetitions: current = current + 2 if int(input) % current

    0熱度

    2回答

    program Primes(input,output); var candidates, primes : Array[0..999] of Integer; n, i, j : Integer; begin for i := 0 to 999 do begin candidates[i] := 1; end; candi

    2熱度

    1回答

    問題:查找範圍 Ñ :1 < = N < = 的主要挑戰是處理查詢(Q),其可以很大。 1 < = Q < = 方法我迄今使用: 蠻力 while(Q--) { int N; cin>>N; for(int i=1;i<=N;i++) ans += lcm(i,N)/i ; } 複雜性: 預處理和 處理查詢 首先我建立一個表,它保存每個N的歐拉總功

    0熱度

    1回答

    我想寫一個總理篩發生器,我轉換爲列表打印,然後打印給定範圍內的素數。我很確定我的對數是正確的,但出於某種原因,我在我的素數列表中得到了一些額外的值,這些值並不是素數。 (我馬上就發現了這個,因爲我輸出的最後一個值是3599,這不是素數)。 我真的不知道,如果我有某種邏輯錯誤,所以任何幫助將是真棒 def sieve(n): a = [True] * (n) a[0] = a[1

    3熱度

    1回答

    對於項目歐拉我正在尋找一種方法來實施Eratosthenes篩,因爲我預計它比我的原始實施(並需要它是如此)更快。我想出了這個功能: sieve :: Int -> [Int] -> [Int] sieve p (x:xs) | rem x p == 0 = sieve p xs | otherwise = x : (sieve x $ sieve p xs) sieve _

    -1熱度

    1回答

    給定三個排序後的數組,如A,B和C.A和B的值範圍爲< 10^5,而對於C,範圍高達10^10,但所有C元素都是完美的正方形。計算A和B的所有對,以便產品等於C的任何元素。我嘗試過,但複雜度爲o( N^2),我不能減少它,任何關於如何進行的建議?例如:A:[1,3,9,14] B:[4,12,49] C:[36,49,121] 答案:3 1來自A和49來自B 類似地3 * 12和4 * 9

    0熱度

    1回答

    在下列素篩: primes :: [Integer] primes = sieve [2..] where sieve (p:xs) = p : sieve [x|x <- xs, x `mod` p > 0] 什麼x | x <- xs和x `mod` p > 0是什麼意思?

    0熱度

    1回答

    p = 2 for i in range(3,10000000000000000,2): if p%i >= 1: print(i) p = p*(i*i) 我已經測試了它,它似乎至少在前100個素數上工作,它是否會無限期準確地返回素數?(理論上不是字面意思)。

    6熱度

    1回答

    下面[Python的3.4]是一個簡單的埃拉託塞尼篩的程序: from itertools import * def excl(ns,pr): return (i for i in ns if i%pr) def sieve(ns): while True: pr=next(ns) yield pr ns=excl(ns,pr)

    0熱度

    1回答

    我是MIPS的新品牌,正在嘗試編寫Wikipedia中所述的Eratosthenes算法篩選,以查找1到1000中的所有素數。我只是按照1- 4,還沒有任何描述的改進。 這是到目前爲止我的代碼: .data array: .word 1:1000 # array[1000] = {1} (assume all are prime initially) length: .word 1000