חישוב שורש בc++

Guy24Gold

New member
חישוב שורש בc++

הכנתי תוכנה קטנה שמחשבת שורש: long double Root(int num) { const long double diok=0.0001; long double i; for (i=diok;i<num/2+1;i=i+diok) { cout<<i<<"\"; //רק בשביל לבדוק משהו if (num/i<=i+diok && num/i>=i-diok) { return i; break; } } } diok=דיוק אם אני משנה את הדיוק ליותר אפסים אחרי הנקודה, אז מספר המספרים אחרי הנקודה בתוצאה לא משתנה. אבל אם אני מקטין אותו אז הוא כן קטן. למה? אם אני משנה את הלונג דאבל לפלוט אז התוכנה רצה יותר לאט. לוקח הרבה יותר זמן לחשב שורש של מספר עם הרבה ספרות. למה זה קורה?
 

Guy24Gold

New member
למה זה מתיישר לימין?

long double Root(int num) { const long double diok=0.0001; long double i; for (i=diok;i<num/2+1;i=i+diok) { cout<<i<<"/n"; if (num/i<=i+diok && num/i>=i-diok) { return i; break; } } }
 
למעלה