כן ולאאם הבנתי נכון את השאלה.
1. אנחנו צריכים לחשב את כל הצירופים האפשריים שיש לעשרים וחמש ספרות בסדרות של שבע.
2. אסור שיופיע פעמיים אותו מספר ברצף מסוים.
אם כך החשבון הוא:
25 * 24 *23 * 22 * 21 * 20 * 19 = 2,422,728,000
עוד תנאי 1 ישבעצם בין השורות יכולות להיות מקסימום 6 ספרות זהות?
זאת אומרת שמה שאתה רוצה זה את כל הצירופים בגודל 7 של המספרים 1-50 כאשר בכל ספרה לא יכולה להיות פעמיים ואין 2 שורות זהות?
או שיש עוד תנאי שאתה צריך שיתקיים?
ששת המספרים יכולים להיות גם לא ברצף, תצטרך לשמור את כל ששת הצירופים עבור כל צירוף של 7 שעברת עליו3. לשמור את עבור כל מחרוזת 2 רצפים בזכרון (6 המספרים הראשונים + 6 המספרים האחרונים)
יתכן שאם תתחיל את הלולאה במקום אחר תקבל תוצאה שונה, לא כל כך קל4. אם הרצף כבר קיים בזכרון לא לספור את המחרוזת, אם לא קיים, לספור אותה
קל
אוקי, גם לא ברצף וגם לא לפי הסדר? או רק לא ברצף?ששת המספרים יכולים להיות גם לא ברצף, תצטרך לשמור את כל ששת הצירופים עבור כל צירוף של 7 שעברת עליו
מה הכוונה שהלולאה תתחיל במקום אחר?יתכן שאם תתחיל את הלולאה במקום אחר תקבל תוצאה שונה, לא כל כך קל
תנסה בפורמים יותר מתאימיםלחשב משהו מקצועי
from itertools import combinations
arr_comb = range(1,26)
max_repit = 5
len_test = 7
comb = set(combinations(arr_comb, len_test))
good_numbers = set()
bad_numbers = set()
test_nambers = comb.copy()
for c in sorted(comb):
if c in bad_numbers:
continue
good_numbers.add(c)
comb2 = set(combinations(c, max_repit))
filter_nums = set()
for sub_c in test_nambers:
if [a for a in comb2 if set(a).issubset(sub_c)]:
filter_nums.add(sub_c)
# print(filter_nums)
bad_numbers.update(filter_nums)
print(f"len of bad numbers: {len(filter_nums)}")
test_nambers = test_nambers - filter_nums
print("full comb")
print(len(comb))
print(comb)
print("bad comb")
print(len(bad_numbers))
print("good comb")
print(len(good_numbers))
print(sorted(good_numbers))
וואו , אין מילים על המאמץ. ובעיקר על הנוסחה .וואו, איתגרת אותי!
זה אמור להיות קשור להתפלגות היפרגאומטרית אך מכיוון שלא הצלחתי לחשב, כתבתי סקריפט שמחשב, @שימיגם זה ממש לא ב -10 שניות, רק ההרצה לבד לקחה 20 דקות,
מספר האפשרויות המלא (25 מספרים להעמיד ב 7 מרובעים) - 480700
האפשרויות בלי יותר מ 5 מספרים שחוזרות על עצמן - 1043
מצורפים הקבצים של התוצאות התקינות ושל הסקריפט
אם נדייק - הם עמדו במשימות שתיארת בהתחלה שנועדו לחישוב אנושי ולא לחישוב מכונה - מתכנתיםטובי הסטטיסטיקאים נכשלו במשימה
בהחלט נכון. זו משימה שאפילו להגדיר אותה נכון היה קשהאם נדייק - הם עמדו במשימות שתיארת בהתחלה שנועדו לחישוב אנושי ולא לחישוב מכונה - מתכנתים
צודק, טעיתיבמבט מלמעלה בתוצאות זה נראה כמו בלי 5 שחוזרות על עצמם ולא בלי יותר מ5 שזה בעצם בלי 6 שחוזרות
צודק, טעיתי
ניסיתי להריץ אם התיקון (לשנות את השורה max_repit = 5 ל 6)
אבל מכיוון שההרצה לוקחת הרבה זמן אנסה לשפר את הקוד, כשאתפנה..)
בסטטיסטיקה זה היה מסובך, כי אמנם אפשר לחשב את המקרה הבדיד אבל יותר מורכב (לדוגמה כמה פעמים נקבל צירף מסוים, אבל פה זה לא בדיוק כך, בטוחה שיש לזה איזשהו חישוב אבל בהחלט רק ליודעי חן
תודה רבה מאודצודק, טעיתי
ניסיתי להריץ אם התיקון (לשנות את השורה max_repit = 5 ל 6)
אבל מכיוון שההרצה לוקחת הרבה זמן אנסה לשפר את הקוד, כשאתפנה..)
בסטטיסטיקה זה היה מסובך, כי אמנם אפשר לחשב את המקרה הבדיד אבל יותר מורכב (לדוגמה כמה פעמים נקבל צירף מסוים, אבל פה זה לא בדיוק כך, בטוחה שיש לזה איזשהו חישוב אבל בהחלט רק ליודעי חן...)
צודק, מדובר בפוביה ממילים מפלצתיות (ארוכות)היפופוטם - מונסטר (מפלצת) ... /קיפדיה - לי - או פוביה.
זה יוצא משהו כמו: מפלצת היפופוטמית ויקפדית פוביה.
מקורי.
לא למדתי מתמטיקה רק במקום שאסור להרהר בדברי תורה..., אבל גם לפי איך שהבנת את השאלה הפיתרון הוא 25*24*23*22*21*20*19 לחלק ל (1*2*3*4*5*6*7) =480,700אם הבנתי נכון את השאלה.
1. אנחנו צריכים לחשב את כל הצירופים האפשריים שיש לעשרים וחמש ספרות בסדרות של שבע.
2. אסור שיופיע פעמיים אותו מספר ברצף מסוים.
אם כך החשבון הוא:
25 * 24 *23 * 22 * 21 * 20 * 19 = 2,422,728,000
rhon.co.il
מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!
חלה שגיאה בשליחה. נסו שוב!
לוח לימודים
מסלולי לימוד שאפשר להצטרף
אליהם ממש עכשיו:
תהילים פרק כה
אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
הנושאים החמים