אני צריך לבנות פרוצדורה שתיצור תרגיל אקראי בכפל שהתוצאה שלו מוגבלת ל 100. אחד הכופלים צריך להיות בין 0 ל 9. הגעתי לדרך שעובדת, אבל רציתי לדעת האם יש דרך יעילה יותר
num1 := random (10); num2 := random (101); while num1 * num2 > 100 do num2 := random (101);
num1 := random(10); num2 := random((100 div num1)+1);
אם למשל num1=7 אז num2 יוגבל לתחום שבין 0 ל-14, ולכן המכפלה בטוח תהיה יותר קטנה מ-100. ככה אתה חוסך את הלולאה, שתיאורטית יכולה לקחת הרבה זמן (אם כל הזמן אתה מגריל מספרים גדולים מדי)