1:1タイトル
16惑星の存在は2つの生物生物種ヘッドは6本の脚1を有し、生物学的ヘッドのB 3種類、4本の脚を有します。地球からの宇宙船はただ、チームは突然によるタイトなスケジュール、頭と足の数の数だけ、助けてください宇宙飛行士の分析A、B 2匹の生き物をそれぞれに両方の生体成分の大規模なグループを発見した惑星に上陸しましたいくつ?
入力説明:ヘッドZの脚部Lの数、(L、Z <= 100000); 出力説明:生物Bの数(二つの整数は、スペースで区切られた)サンプル入力:出力1032例:42
公式:
// 最初の脚は、Yをxは @ X + 6Y = M @ 3X + 4Y = N // 3 * 1-N-M = 6-1。3 * Y * 4 == // 4 * YN / 3 = X
インポートjava.util.Scanner; パブリック クラスメイン1 { 公共 静的 ボイドメイン(文字列[]引数){ スキャナ入力 = 新しいスキャナ(System.in)。 int型M、N、X、Y。 M = input.nextInt()。 N = input.nextInt()。 Y =(6 * M-1 * N)/(3 * 6-4 * 1 )。 X =(N-4 * Y)/ 6 。 System.out.println(X +」「+ Y)。 )(input.close。 } }
2:2タイトル
N(N <1000)は、正の整数の配列の所定の長さのため、係合の数が数部3と呼ば満足部3の連続した係合要素がアレイ部3における複合数字の数を計算し17です。
入力説明:最初の行、列N内の要素の数、スペースで分離された第2行、Nは正の整数、。
出力説明:の係合セクションの数は、3ナンバー
の入力サンプル:76849758出力例:2
パッケージソリューション。 インポートjava.util.Scanner; パブリック クラスメイン2 { 公共 静的 ボイドメイン(文字列[]引数){ スキャナ入力 = 新しいスキャナ(System.in)。 INT、M、RES = 0 。 M = input.nextInt()。 INT [] ARR = 新しい INT [M]。 以下のために(INT ; I <M; iが0 = I ++ ){ ARR [I] = input.nextInt()。 } ため(INT I 0 =; I <arr.length-2、I ++){ ブールフラグ= 偽。 用(INT ; J <3 + I、J = J ++ ){ 場合(isPrime(ARR [J])){ フラグ = 真。 } } もし(!フラグ){ RES ++ 。 } } のSystem.out.println(RES)。 } プライベート 静的 ブール isPrime(INT N){ ブールフラグ= 真。 以下のために(INT I = 2、I <N; I ++ ){ 場合(N%I == 0 ){ フラグ = 偽。 } } 戻りフラグ。 } }
3:3タイトル
かどうか尋ねる削除することによって、二つの文字列、各文字のみを含む、大文字と小文字を区別し、ソース文字列SS(長さ<1000)であり、他方がターゲット文字列TS(長さ<1000)であるが与えられる18 TSに変換するSS文字(順序を変更せずに)、「YES」、出力は「NO」ことができない場合は、出力することができます。
入力説明:ソース文字列SS、第二の標的行動文字列TSの最初の行。
出力説明:5月の出力は、「YES」、出力は「NO」にすることはできません。
入力サンプル1:Thereisacomputerトリート出力例1:YES入力サンプル2:Thereisacomputer形質出力例2:NO
パッケージソリューション。 輸入はjava.util.ArrayList; インポートjava.util.Scanner; パブリック クラスMain3 { 公共 静的 ボイドメイン(文字列[]引数){ スキャナ入力 = 新しいスキャナ(System.in)。 ArrayListの <文字> SLIST = 新しい ArrayListを<> (); 列STRS = input.nextLine()。 ストリングDTRS = input.nextLine()。 CHAR [] scharArray = strs.toCharArray()。 CHAR [] dcharArray = dtrs.toCharArray()。 ために(INTが I 0 =; I <scharArray.length; I ++ ){ slist.add(scharArray [I])。 } int型のインデックス= 0 。 以下のために(INT iが= 0; I <slist.size(); I ++ ){ 場合(インデックス> = dcharArray.length){ ブレーク。 } であれば(slist.get(I)=!dcharArray [インデックス]){ slist.remove(I - )。 } 他{ インデックス ++ 。 } } もし(slist.size()>dcharArray.length){ するSystem.out.println( "YES" ); } 他{ するSystem.out.println( "NO" )。 } } }
4:質問4
19デジタル整数の配列と標的所与Lianliankanの、配列内の三つの要素を見つけ、それらの標的に対する。
入力説明:NとT、N(N <10000)配列の要素の整数を表す整数最初の行は、Tは、目標値です。
2行目は、Nは、アレイ内のエレメントを表す整数であり、100,000以下の数のそれぞれの絶対値です。
出力説明:85453の配列、目標値:これは、(配列要素が位置1から始まる)、複数存在する場合、例えば、位置の出力を(最小スペースで区切られた3つの整合素子を発見した場所であります16、位置125および145出会う条件、出力125)、出力1を満たしていません。
入力サンプル:712
2 8 7 6 3 4 3
サンプル出力:135
パッケージソリューション。 インポートjava.util.Scanner; パブリック クラスMain4 { 公共 静的 ボイドメイン(文字列[]引数){ スキャナ入力 = 新しいスキャナ(System.in)。 整数M、N。 M = input.nextInt()。 N = input.nextInt()。 INT [] ARR = 新しい INT [M]。 以下のために(INT ; I <arr.length; iが0 = I ++ ){ ARR [I] = input.nextInt()。 } のために(int型私= 0; I <arr.length。I ++ ){ ため(INT J = 0; J <arr.length; J ++ ){ ための(int型のk = 0; K <arr.lengthあり、k ++ ){ 場合(I == J || I == K || J == k)を続けます。 もし(ARR [I] + ARR [J] + ARR [K] == N){ System.out.printlnは((I +1)+ " "+(J + 1)+"" +(K + 1 ) ); リターン; } } } } } }
5:5タイトル
20. 0-9 +「」*正規数式(長さ<1000)、プラス『+』「*乗算よりも高い優先度であり、出力ください演算結果の所定の数を考えます。入力説明:数式の有効な
出力説明:計算結果の出力表現
入力サンプル:12 + 12 * 3 * 2出力サンプル:360
コードに問題があります。一部をリードし、スタックで処理されなければなりません
パッケージソリューション。 輸入はjava.util.ArrayList; 輸入java.util.Arrays。 インポートjava.util.Scanner; パブリック クラスMain5 { 公共 静的 ボイドメイン(文字列[]引数){ スキャナ入力 = 新しいスキャナ(System.in)。 文字列の正規表現 = input.nextLine()。 String []型charArray = regex.split( "[* | +]" ); INT [] ARRX = 新しい int型 [charArray.length]。// 数字串 のための(int型私= 0;私<charArray.length; I ++){ ARRX [I] = Integer.parseInt(charArray [I])。 } のchar [] scharArr = regex.toCharArray()。 CHAR [] OP = 新しい CHAR [1000]。// 操作符号 int型のインデックス= 0 ; 以下のために(INT ; I <scharArr.length; iが0 = I ++ ){ 場合(scharArr [I] == '+' || scharArr [I] == '*' ){ OP [インデックス ++] = scharArr [I ]; } } のArrayList <整数>リスト= 新規のArrayList <> (); int型の合計= 0 ; ブーリアンフラグ= 真。 もし(インデックス%2 == 0)フラグ= 偽。 以下のために(INT I 0 =; I <op.length; I ++ ){ 場合(OP [I] == '+' ){ OP [I] = '\ 0' 。 和 + = ARRX [I] + ARRX [I + 1 ]。 場合(!フラグ&& OPは[I + 1] = '+')(ARRX + [I] ARRX [I + 1 list.add ])。 ARRX [I] = 0 ; ARRX [I +1] = 0 ; // I ++; } } System.out.println(合計)。 list.get(I)。もし(OP [4] == '+' && フラグ){ 合計 + = ARRX [arrx.length-1 ]。 System.out.println( "SSS" ); } INT mulsum = 1 。 用(INTが I = 0、I <arrx.length; I ++ ){ 場合([i]がARRX!= 0 ){ mulsum * = ARRX [I]。 } } のために(INT iは= 0; I <はlist.size(); I ++ ){ mulsum * = } のSystem.out.println(OP)。 System.out.println(リスト); System.out.println(Arrays.toString(ARRX))。 System.out.println(合計)。 System.out.println(mulsum)。 もし(フラグ)のSystem.out.println(mulsum * 合計)。 } }