פורסם 2008 בפברואר 917 שנים כתוב תוכנית הקולטת מספר ומדפיסה את כל מחלקיומישהו יכול לעזור לי? אין לי כיוון אפילו ???
פורסם 2008 בפברואר 917 שנים אין לך מושג ברעיון של איך מוצאים את המחלקים ? או איך מתכנתים ב C# ? או מה ?
פורסם 2008 בפברואר 917 שנים מאוד פשוט! static void Main(string[] args) { Console.Write("enter num: "); int num = int.Parse(Console.ReadLine()); for (int i = 2; i < num; i++) if (num % i == 0) Console.WriteLine(i); } שים לב, אם אתה רוצה שזה ידפיס לך גם את המחלק 1 וגם את המספר עצמו אז עליך לשנות בהגדרות של הלואלה 2 דברים: 1) במקום i=2 תעשה i=1 2) במקום i<num תעשה i<=num תעבור את הקוד ואני מבטיח לך שאתה תבין את הרעיון
פורסם 2008 בפברואר 917 שנים מחבר אוקיי תודה הבנתי אני אנסה עוד שאלה ואם אני לא אצליח אני אכתוב פה שוב תודה
פורסם 2008 בפברואר 917 שנים יעילות, חבר'ה....מספיק לעשות את הלולאה עד num/2. ואת החישוב של num/2 תעשה לפני הלולאה ותשים במשתנה נפרד.הסבר: המחלק הכי גדול של מספר, מלבד עצמו, הוא המחצית שלו...הנה קיצצת לך חצי מזמן הריצה של הלולאה.
פורסם 2008 בפברואר 917 שנים אם ביעלוית עסקנו....לולאה יותר יעילה תיהיה לולאה שתעבור מ1 ועד שורש של NUM ואז להדפיס גם את המחלק וגם את תוצאת החילוק (כמובן עבור חילוק שנותן שארית 0).
פורסם 2008 בפברואר 917 שנים מחבר אוקיי נתקעתי התרגיל השני יש לי בעיה ואני יודע מהי אבל אין לי מושג איך לפתור אותה.. השאלה: כתבו תוכנית הקולטת מספר ומדפיסה האם המספר ראשוני או לא. int i, num, x; x = 0; i = 1; Console.Write("enter num: "); num = int.Parse(Console.ReadLine()); for (; i < num; i++) { if (num % i == 0) //לא ראשוני// { x =x+ 0; } else //ראשוני// { x =x+1 ; } } if (x == 0) { Console.WriteLine("lo rishoni"); } else { Console.WriteLine("rishoni"); } הבעיה: הוא כותב לי כל הזמן שהמספר ראשוני בגלל ש: אם לדוגמא נבחר מספר 4: השארית של 4 עם 1 =0 >> x=x+0 השארית של 4 עם 2 =0 >> x=x+0 השארית של 4 עם 3 =/0 >> x=x+1 השארית של 4 עם 4 =0 >> x=x+0 עכשיו בגלל שכבר X לא שווה 0 אז זה כותב שהמספר ראשוני ד"א אני יודע שהקוד שלי ממש מבולגן ואפשר לקצר אותו בטח במלא אבל אני לא טוב בזה כ"כ תודה לעוזרים
פורסם 2008 בפברואר 917 שנים אם כבר מדברים על יעילות, זה לא עד ל num/2 אלא עד לשורש הריבועי של num!עריכה: אופס, לא ראיתי ש-mtnm רשם את זה כבר.
פורסם 2008 בפברואר 917 שנים תתחיל לספור מ i = 2. for (i = 2; i < num; i++) { if (num % i == 0) { x = 1; break; } }
פורסם 2008 בפברואר 917 שנים לא יעזור לו לדעת ישר את התשובה בוא נעזור לנתח את הבעיה שלו.הבעיה המרכזית שלך היא בהחלטה האם המספר ראשוני או לא (כלומר ב4 שורות האחרונות).אתה ניסית לספור כמה מחלקים יש למספר כלשהו אז להחליט האם הוא ראשוני או לא.במקרה שלך מספר המחלקים (כלומר X) יהיה תמיד לפחות 1 כי כול מספר מתחלק מ1 בלי שארית.ולכן מספר ראשוני יהיה מספר X==1 ומספר לא ראשוני יהיה מספר שX<1.עכשיו נעבור לבעיות יותר זוטריות.1. אין טעם לכתוב X = X + 0 - זה לא עושה כלום אז למה לכתוב את זה.2. במקום X = X + Y נהוג לכתוב X+=Y3. אתה לא ילד מכיתה א' תפסיק לכתוב מילים עיבריות באנגלית. מספר ראשוני == prime number.זה, מקווה שעזרתי
פורסם 2008 בפברואר 917 שנים מחבר לא יעזור לו לדעת ישר את התשובה בוא נעזור לנתח את הבעיה שלו.הבעיה המרכזית שלך היא בהחלטה האם המספר ראשוני או לא (כלומר ב4 שורות האחרונות).אתה ניסית לספור כמה מחלקים יש למספר כלשהו אז להחליט האם הוא ראשוני או לא.במקרה שלך מספר המחלקים (כלומר X) יהיה תמיד לפחות 1 כי כול מספר מתחלק מ1 בלי שארית.ולכן מספר ראשוני יהיה מספר X==1 ומספר לא ראשוני יהיה מספר שX<1.עכשיו נעבור לבעיות יותר זוטריות.1. אין טעם לכתוב X = X + 0 - זה לא עושה כלום אז למה לכתוב את זה.2. במקום X = X + Y נהוג לכתוב X+=Y3. אתה לא ילד מכיתה א' תפסיק לכתוב מילים עיבריות באנגלית. מספר ראשוני == prime number.זה, מקווה שעזרתיאוקי תודהובקשר ל3.זה בסה"כ שיעורי בית אז זה לא כ"כ אכפת ליאם זה היה משהו חשוב הייתי מסדר את זה יותרקבעתי שI=2אבל זה לא כל הפתרון לבעיה
פורסם 2008 בפברואר 2617 שנים יש דרך יותר פשוטה לעשות את זה: static void Main(string[] args) { int count, num; count = 0; Console.WriteLine("hahnes mispar:"); num = int.Parse(Console.ReadLine()); for (int i = 1; i <= (num / 2); i++) { if (num % i == 0) count++; } if (count == 1) Console.WriteLine("hamisper {0} rishoni", num); else Console.WriteLine("hamispar {0} lo rishoni", num); } מקווה שעדכני עדיין חח .. אבל זאת יעילות ..
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.