![]() |
# 1 |
הוסטסניון
|
c++ מציאת מספריים ראשונים
קוד:
#include <iostream> using namespace std; int main() { int a,b; while(true){ cin >> a; for (b=2;b<a;b++) { if (a%b == 0){ cout << "no\n"; a=0; }else{ cout << "yes\n"; a=0; } } } } עכשיו באמת זה פועל אבל משום מה אם אני מכניס תמספר 15,45...זה אומר שהם מספרים ראשונים. האמת שלא הבנתי למה.תודה לעוזרים. תודה |
![]() |
![]() |
# 2 |
חבר על
|
אני אתן לך את האלגוריתם ואתה תמיר אותו ל-c:
אתה צריך לקלוט מספר למשתנה num מגדיר את counter כאפס כל עוד ש-counter קטן מnum וגם found הוא false בצע: אם num % counter שווה לאפס, שנה את found ל true הגדל את counter ב-1 מחוץ ללולאה: אם found הוא true המספר אינו ראשוני ולכן כאשר found הוא false המספר הוא ראשוני ![]() הציעו עוד דרכי פתרון יחודייות ונראה של מי הכי מקורית..
__________________
בברכה, רועי |
![]() |
![]() |
# 3 |
הוסטסניון
|
>ודה אבל כבר הסתדרתי הבנתי תבעיה.
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|