|
![]() |
# 1 |
חבר וותיק
|
באג בפונ'
PHP קוד:
אשמח להבין למה זה יכול להיות בגלל הRETURN 1? פשוט ככה היינו עושים בC וזה היה עובד בסדר גמור זה היה פשוט מחבר את ה1ים ביציאה מהרוקרסיה |
![]() |
![]() |
# 2 |
הוסטסניון
|
מה אתה מנסה לעשות?
אולי יש דרך פשוטה יותר.
__________________
|
![]() |
![]() |
# 3 |
הוסטסניון
|
כן מאוד יכול להיות שזה בגלל האחד, תעטוף אותו אותו במרכאות ושיהיה סטרינג ואז תנסה.
ד"א למען הסדר הטוב תעבוד עם elseif ובסוף עם else בשביל לדבג. אם אתה צריך אותו כמספר, אז תעשה if בסוף הפונקציה שאם המשתנה l שווה לאחד תדפיס אותו כסטרינג, כל מספר אחר אני מאמין שידפיס לך בלי בעיה.
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן." |
![]() |
![]() |
# 4 |
חבר בקהילה
|
לרקורסיה שלך פה אני שום משמעות, נגיד והגעת לסוף הרקורסיה, זה פשוט מעביר את ה-1,
אתה לא מחבר פה שום דבר לשום דבר, אז למה שזה יחבר לך את האחדות? למה זה לא מדפיס? כי באחד השלבים של הרקורסייה אף אחד מהתנאים לא מתקיים, ולכן הפונקציה לא מחזירה שום דבר, אתה יכול לבדוק ע"י זה שתסים בסוף return "test"; ותראה. קוד:
<?php function ck($x,$a,$b,$c,$l=0) { if ($l==$x) return 1; if (($l+$a)<=$x) return ck($x,$a,$b,$c,$l+$a); if (($l+$b)<=$x) return ck($x,$a,$b,$c,$l+$b); if (($l+$c)<=$x) return ck($x,$a,$b,$c,$l+$c); // אם שום דבר לא התקיים return "test"; } var_dump ( ck(10,3,7,2) ); ?> |
![]() |
![]() |
# 5 |
חבר מתקדם
|
אני הייתי כותב ככה:
PHP קוד:
|
![]() |
![]() |
# 6 |
חבר וותיק
|
זה תרגיל כזה
X - מספר מסויים A B C - מספרים קטנים יותר צריך לחשב בכמה דרכים אפשר להגיע לX בעזרת חיבור שלושת המספרים האלו |
![]() |
![]() |
# 7 |
חבר מתקדם
|
מה שאתה עושה למעלה לא ממש עושה את מה שתיארת עכשיו.
|
![]() |
![]() |
# 8 |
חבר וותיק
|
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|