Tôi đang cố gắng chuyển đổi một chương trình mà tôi đã thực hiện trong Cơ bản! (QBASIC trên iOS) sang Python. Tôi đang dần làm việc theo cách của tôi thông qua Python cho Dummies nhưng tôi bị mắc kẹt về cách chuyển đổi FOR vòng lặp. Ai đó có thể giúp đỡ? Dưới đây là mã QB.Chuyển đổi chương trình từ QBasic sang Python
REM Prime Numbers v2
REM Av 2.2 seconds for 1000
REM Av 5.3 seconds for 2000
INPUT "Prime numbers upto";limit
PRINT
t1 = TickCount
PRINT "2 3 ";
count = 2
FOR posprime = 3 TO limit STEP 2
posfactor = 3
prime = 1
GOSUB testing
IF prime = 1 THEN
PRINT posprime " ";
count = count + 1
END IF
NEXT posprime
t2 = TickCount
PRINT
PRINT
PRINT count " prime numbers found"
PRINT USING "####.#"; "Completed in" t2 - t1 " seconds"
END
testing:
IF posprime/posfactor = INT(posprime/posfactor) THEN
prime = 0
RETURN
ELSE
posfactor = posfactor + 2
IF posfactor > SQR(posprime) THEN
RETURN
ELSE
GOTO testing
Đây là chương trình mà tôi và con trai tôi thực hiện trên Cơ bản! (QBasic for iOS) hiển thị tất cả các số nguyên tố lên đến giới hạn do người dùng nhập với một số phần được thêm vào bỏ qua các số không rõ ràng. Oh và nó bao gồm một kiểm tra tốc độ nhỏ mà chúng tôi sử dụng để thấy sự khác biệt giữa bộ vi xử lý iPhone và iPad.
Nó cần phải đi để hạn chế + 1: phạm vi (3, giới hạn + 1, 2) –
Cảm ơn bạn đã trả lời. Vì vậy, phạm vi giới hạn trên là lên đến nhưng không bao gồm, do đó cần giới hạn + 1? – BlackDuke07
@ user2486954, Có. – falsetru