שאלה 69

עמוד
מוצגות 6 תגובות – 1 עד 6 (מתוך 6 סה״כ)
  • מאת
    תגובות
  • #77231
    oren
    משתתף

    זוכרים את השאלה עם המספרים שצריכים להכיל את כל הספרות?
    ראיתי שמישהו פה פתר אותה בעזרת זה שכתב תכנית שבדקה את כל האפשרויות, אבל יש מישהו שהצליח לפתור אותה מתמטית? כלומר, ע"פ לוגיקה/הגיון?

    #78758
    xxx
    משתתף

    כותרת: כן
    אני מצאתי פיתרון מתמטי – כמעט מלא – השתמשתי מעט מאוד בתיכנות, אך רוב הפתרון מתמטי.

    #78759
    פלוני
    משתתף

    כותרת: למה לפתור על פי לוגיקה אם אפשר תכנותית?
    כל מה שהיית צריך לעשות זה פונקציה שמחזירה כמה פעמים מופיע ספרה במספר(עם מודולוס וחלוקה בעשר). ואז לעשות לולאה על כל מספר אפשרי (מספיק מ0 עד 2145, כי אחרי זה N בשלישית הוא מעל 10 ספרות). בכל מספר פשוט הייתה צריך לבדוק האם סכום המופעים של הספרה X בשני המספרים מגיע ל1. סה"כ יצא לי כ15-20 שורות קוד.

    #78764
    oren
    משתתף

    כותרת: אז אולי תשתף אותנו?

    #78768
    TheWizard
    משתתף

    כותרת: אני עשיתי עם ספירת מערך
    Num is the number i´m checking

    int A[10] = {0};
    int N=Num*Num
    while (N>0)
    {
    A[N%10]++
    N/=10;
    }
    int N=Num*Num*Num
    while (N>0)
    {
    A[N%10]++
    N/=10;
    }

    and then just check that (using a loop of course):
    A[0]==1,A[1]==1,A[2]==1,A[3]==1,A[4]==1,
    A[5]==1,A[6]==1,A[7]==1,A[8]==1,A[9]==1

    #78789
    Alon
    משתתף

    כותרת: % question 69
    hi

    i didnt find any mathematical way to solves this problem , but solving it by logical can be done :

    you take the right digit and check

    1^3 = 1 , 1^2 = 1 . so 1 cant be the right digit
    2^3 = 8 , 2^2 = 4 . can be
    3^3 = 27 , 3^2 = 9 can be
    ……and so on . the number 0,1,5,6, cant be at the right digit
    in this way you can check the 2nd digit too . and thats it

    bythway . in the test i built a scanner ( program . but i had small miskate in the algorithm . so i didnt get anynumber .;[

מוצגות 6 תגובות – 1 עד 6 (מתוך 6 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.