יום חמישי, 18 במאי 2017

שאלות ב java

שאלות:

להורדה כאן או כאן







זה לא קצר...






עשינו בשיעור כמה שאלות:

1.
    ספרת הביקורת היא הספרה התשיעית ,הימנית ביותר ,של מספר הזהות. היא מחושבת על ידי אלגוריתם מסוים.
    -עליו תוכל לקרוא כאן.
    כתוב תוכנית אשר משיבה האם תעודת זהות היא חוקית או לא.
    תהיה בה פונקציה שמקבלת מערך המכיל את ספרות תעודת הזהות, והיא מחזירה true או false.

2.
    7Boom
    כתוב פונקציה אשר מקבלת מספר, ומדפיסה את כל המספרים עד לאותו מספר. כל מספר שיכול להתחלק בשבע
    ללא שארית, או מספר שלפחות אחת מספרותיו היא 7, תוצג במקום המספר המילה "Boom".


3.
    "מספר מאושר" הוא מספר אשר  אם מחברים את סכום ריבועי ספרותיו בתהליך חוזר, עד לקבלת ספרה בודדת, מקבלים
    את המספר 1.

    מספרים מאושרים לדוגמה: 100 ,13 ,82

  דוגמאות לחישוב: 
13
1² + 3² = 10
1² + 0² = 1

82
8² + 2² = 68
6² + 8² = 100
1² + 0² + 0² = 1

    כתוב פונקציה רקורסיבית אשר מקבלת מספר ועונה האם הוא "מספר מאושר".












פתרונות

1.
public static int convert_to_one_digit(int x){
        if (x<10) return x;
        return x%10+1;
    }
    
    public static boolean Legal_ID(int ID1[]){
        int ID[];
        ID = new int [9];
        for(int i=0; i<9; i++){
            ID[i] = ID1[i];
        }
        
        ID[1] *= 2;
        ID[3] *= 2;
        ID[5] *= 2;
        ID[7] *= 2;
        
        ID[1] = convert_to_one_digit(ID[1]);
        ID[3] = convert_to_one_digit(ID[3]);
        ID[5] = convert_to_one_digit(ID[5]);
        ID[7] = convert_to_one_digit(ID[7]);
                
        int sum=0;
        for(int i=0; i<8; i++){
            sum+=ID[i];
        }
        return (10-(sum%10) == ID[8]);        
    }

    public static void main(String[] args){
        int ID[];
        ID = new int [] {1,2,3,4,5,6,7,8,9};  //  מספר תעודת זהות
        int sum = 38;
        
        
        if (Legal_ID(ID)) System.out.println("Yes");
        else System.out.println("No");
    }





2.
public static boolean there_is_seven(int x){
        while (x!=0){
            if (x%10 == 7) return true;
            x /=10;
        }
        return false;
    }
    public static void boom_Game(int x){
        for(int i=1; i<=x; i++){
            if (i%7==0) System.out.println("Boom");
            else if (there_is_seven(i)) System.out.println("Boom");
            else System.out.println(i);
        }
    }
    public static void main(String[] args){
        boom_Game(100);
    }






3.
public static boolean meushar(int x){
        if (x==1) return true;
        if (x<10) return false;
        int sum=0;
        while (x!=0){
            sum += Math.pow((x%10), 2);
            x /=10;
        }
        return meushar(sum);
    }
    
    public static void main(String[] args){
        if (meushar(13))System.out.println("Yes");
        else System.out.println("NO");
    }






בהצלחה!




אין תגובות:

הוסף רשומת תגובה