VIPKID:ペンの質問

1.数字の組、及びシークアレイの数が0であります

あなたがセットを使用する必要があることに注意してください

インポートjava.util.Scanner; 

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){ 
        スキャナSC = 新しいスキャナ(System.in)。
        文字列[] S = sc.nextLine()スプリット( "" )。
        int型のlen = s.length; 
        HashSetの <整数>設定= 新しい HashSetの<> ();
        以下のためにint型 ; iがLEN <I ++は、I = 0 ){ 
            set.add(Integer.valueOf(S [i]の.trim()))。
        } 
        int型 [] NEWARRAY = 新しい INTを[set.size()]。
        int型のインデックス= 0 ;
        以下のための(整数I:セット){ 
            NEWARRAY [インデックス ++] = I。
        } 
        int型の和= 0 以下のためにint型 i = 0; I <newarray.length; iは++ ){
             ためのint型 J = I + 1、J <newarray.length; J ++ ){
                 場合(NEWARRAY [I] + NEWARRAY [j] == 0 ){ 
                    合計 ++ ; 
                } 
            } 
        } 
        のSystem.out.println(合計)。
    } 
}

 

2.ターン進進数1

メソッドのJavaを借りる方法1は、実現しています

インポートjava.util.Scanner; 

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){ 
        スキャナSC = 新しいスキャナ(System.in)。
        INT、M = sc.nextInt()。
        int型 NUM = 0 ; 
        文字列str = Integer.toBinaryString(M)。
        以下のためにint型 ;)私は(str.lengthを<; I = 0 iは++ ){
             場合(str.charAt(I)== '1' ){ 
                NUM ++ 
            } 
        } 
        のSystem.out.println(NUM)。
    } 
}

 

方法2は、それらの実装は2のn乗の数プラス1が必要であることに留意されたいです

インポートjava.util.Scanner; 

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){ 
        スキャナSC = 新しいスキャナ(System.in)。
        INT、M = sc.nextInt()。
        int型 NUM = 0 ;
        一方、(M!= 0 ){
             場合(M == 2 ){ 
                NUM ++ 破ります; 
            } 
            もし(mは%2!= 0 ){ 
                NUM ++ 
            } 
            M/ = 2 
        } 
        のSystem.out.println(NUM)。
    } 
}

 

おすすめ

転載: www.cnblogs.com/haimishasha/p/11454311.html