6 תשובות
עדיין צריכה עזרה?
אנונימי
שואל השאלה:
אני אשמח
אני אשמח
אנונימית
את צריכה הסבר או רק קוד?
אנונימי
שואל השאלה:
אם יש לך כוח אז גם הסבר יעזור
אם יש לך כוח אז גם הסבר יעזור
אנונימית
מספר ראשוני חייב להיות גדול מ-1, ומתחלק רק בעצמו וב-1.
ולכן ניצור פונקצייה בשם: is_prime(number) שתחזיר נכון אם המספר הראשוני.
תחילה נבדוק האם המספר הוא בכלל גדול מ-1, אם הוא לא גדול מ-1 הפונקצייה תחזיק שקר.
אחרי שבדקו שהמספר גדול מ-1, נבנה לולאה שתבדוק לגבי המספרים 2 עד number/2+1 האם אפשר להכפיל אותם במספר אחר כדי להגיע ל-number.
כדי לבדוק צריך לכתוב תנאי: number%num == 0, במידה והתנאי יחזיר אמת, נגלא שהמספר מתחלק ב-num.
אם יצאה אמת, הפונקצייה תסיים את הריצה, ותחזיק שקר, בגלל שהמספר מתחלק ב-num.
אבל אם התנאי לא הופעל אפילו פעם אחת, זה אומר שהמספר הוא ראשוני, ולכן בסוף הפונקצייה נחזיר אמת.
כדי לקבל את כל המספרים צריך לולאה אינסופית, אך שימי לב שאם תריצי את הקוד התכונית תקרוס בגלל כמות החישובים.
כדי לכתוב לולאה אינסופית נכתוב: while true:
והינה הקוד (בקישור תוכלי לקרוא ביותר ברור):
# פונקצייה שמחזירה אמת אם המספר ראשוני
def is_prime(number):
if number < 2: # מספר ראשוני חייב להיות גדול מ-1
return false
for num in range(2, int(number/2)+1):
if number % num == 0:
return false
return true
# לולאה אינסופית שמדפיס את כל המספריים
n = 1
while true:
if is_prime(n):
print(n)
n+=1
# לולאה שמדפיס את כל המספריים בראשוניים עד 100
for item in range(100+1):
if is_prime(item):
print(item, end=",")
ולכן ניצור פונקצייה בשם: is_prime(number) שתחזיר נכון אם המספר הראשוני.
תחילה נבדוק האם המספר הוא בכלל גדול מ-1, אם הוא לא גדול מ-1 הפונקצייה תחזיק שקר.
אחרי שבדקו שהמספר גדול מ-1, נבנה לולאה שתבדוק לגבי המספרים 2 עד number/2+1 האם אפשר להכפיל אותם במספר אחר כדי להגיע ל-number.
כדי לבדוק צריך לכתוב תנאי: number%num == 0, במידה והתנאי יחזיר אמת, נגלא שהמספר מתחלק ב-num.
אם יצאה אמת, הפונקצייה תסיים את הריצה, ותחזיק שקר, בגלל שהמספר מתחלק ב-num.
אבל אם התנאי לא הופעל אפילו פעם אחת, זה אומר שהמספר הוא ראשוני, ולכן בסוף הפונקצייה נחזיר אמת.
כדי לקבל את כל המספרים צריך לולאה אינסופית, אך שימי לב שאם תריצי את הקוד התכונית תקרוס בגלל כמות החישובים.
כדי לכתוב לולאה אינסופית נכתוב: while true:
והינה הקוד (בקישור תוכלי לקרוא ביותר ברור):
# פונקצייה שמחזירה אמת אם המספר ראשוני
def is_prime(number):
if number < 2: # מספר ראשוני חייב להיות גדול מ-1
return false
for num in range(2, int(number/2)+1):
if number % num == 0:
return false
return true
# לולאה אינסופית שמדפיס את כל המספריים
n = 1
while true:
if is_prime(n):
print(n)
n+=1
# לולאה שמדפיס את כל המספריים בראשוניים עד 100
for item in range(100+1):
if is_prime(item):
print(item, end=",")
קישורים מצורפים:
אנונימי
שואל השאלה:
וואו תודה
וואו תודה
אנונימית
באותו הנושא: