עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

מספרים ראשוניים ב c

Featured Replies

פורסם

אני צריך לבנות תוכנה שיודעת לזהות אם המספר הוא ראשוני או לא בריקורסיה

בניתי תוכנית אבל מספרים שמעל 5000 התוכנה מחזירה פלט ריק

#include <stdio.h>

int chek(int x ,int y)

{

if (y==1)

return 0;

if(x%y==0)

return 1;

chek(x,y-1);

}

void main()

{

int x,y,z;

x=10;

y=x-1;

z=chek(x,y);

if(z==1)

printf("no\n");

if(z==0)

printf("yes\n");

}

פורסם

שלום!

קודם כל, תערוך בבקשה את ההודעה שלך, ושים את הקוד בתוך טג קוד (כפתור '#' ליד הכפתור של הציטוט), ככה שיהיה יותר קריא.

חוץ מזה, שתי הערות:

קודם כל, יש לך באג חמור - ברקורסיה שלך אתה קורא ל-chek, אבל לא משתמש בערך שלו (הקומפיילר למעשה אמור להזהיר אותך שהקוד שלך לא תקין, כי אתה לא מחזיר שום ערך).

חוץ מזה, יש הגבלה על העומק של הרקורסיה, וייתכן בהחלט ש-5000 עובר את הגבול הזה.

פורסם

למה לבנות את זה רקורסיבית?

כל אלוגריתם שרץ באיטרציות יותר יעיל בלולאה פשוטה ולא ברקורסיה. (ובמקרה הספציפי שלך, גם סביר להניח שהקוד יהיה הרבה יותר מובן אם תבנה את הפונקציה שעושה את זה בלולאה)

פורסם

^^^

כנראה כי זה תרגיל בבית ספר ואמרו להם לבנות את זה בצורה רקורסיבית...

כמובן שיש דרכים יעילות יותר למצוא מספרים ראשוניים, אבל אלא אם כן הוא תלמיד בתואר ראשון למתמטיקה, אני בספק שזאת הייתה הכוונה של המורה...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.