10-11-2009, 14:05
|
|
|
חבר מתאריך: 25.09.09
הודעות: 63
|
|
שימוש במערכים ומחרוזות יכול היה לייעל ולפשט את הפתרון. אין לי זמן כרגע לבדוק איפה הטעויות בקוד שלך, אך ממבט מהיר הסקתי פחות או יותר את הדרך ורשמתי פתרון בעצמי:
קוד PHP:
int currentDigit, count1, count2; int num1_copy = num1, num2_copy = num2, num_Loop = num1;
while (num_Loop > 0) { count1 = 0; count2 = 0; currentDigit = num1 % 10;
while (num1_copy > 0) { if (num1_copy % 10 == currentDigit) count1++; num1_copy = num1_copy / 10; } while (num2_copy > 0) { if (num2_copy % 10 == currentDigit) count2++; num2_copy = num2_copy / 10; }
if (count1 != count2) return false;
num_Loop = num_Loop / 10; num1_copy = num1; num2_copy = num2; }
return true;
שים לב שלולאות ה-while הפנימיות זהות, תוכל לשלוח את count1 ו-count2 לפעולה במקום...
|