JavaSEクラシックプログラミングの質問
著者:天臨時
すべての権利は留保されています。原作者、偽造および侵害に対する法的責任を明記してください
【手順1】TestRabbit.java
タイトル:古典問題:ウサギが2匹いる生後3ヶ月目から毎月1匹ずつウサギが生まれ、3ヶ月目以降は毎月ウサギが成長します。ウサギが死んでいない場合、毎月のウサギの総数はいくつですか?
プログラム分析:ウサギの法則は、シーケンス1,1,2,3,5,8,13,21 ...です。
【手順2】FindPrimeNumber.java
トピック:101〜200の素数の数を決定し、すべての素数を出力します。
プログラム分析:素数を判断する方法:2からsqrt(この数)を数で除算できる場合は、
これは、この数が素数ではないことを意味します。それ以外の場合は、素数です。
[手順3] FindDaffodilNumber.javaの
タイトル:すべての「水仙の数」を出力します。いわゆる「水仙の数」は3桁の数字を指し、その数字の3乗和は数字自体と同じです。たとえば、153は「水仙の数」です。153= 1立方体+ 5立方体+ 3立方体だからです。
プログラム分析:forループを使用して100〜999の数値を制御します。各数値は単数、数十、数百に分解されます。
[プログラム4] FenJie.java
トピック:正の整数を因数分解します。例:90と入力し、90 = 2 * 3 * 3 * 5と出力します。
プログラム分析:nの素因数を分解するには、最初に最小素数kを見つけてから、次の手順を実行する必要があります。
(1)この素数がnと完全に等しい場合、素因数を分解するプロセスが終了したことを意味し、単に出力します。
(2)n <> kであるが、nがkで割り切れる場合、kの値を出力し、nの商をkで除算する必要があります。新しい正の整数nとして、最初のステップを繰り返します。
(3)nがkで割り切れない場合、kの値としてk + 1を使用し、最初のステップを繰り返します。
【手順5】ConditionOperator.java
トピック:条件演算子の入れ子を使用してこの質問を完了します:アカデミックスコアのある学生> = 90ポイントはAで表され、60〜89ポイントはBで表され、60ポイント未満はCで表されます。
プログラム分析:(a> b)?A:bこれは条件付き演算子の基本的な例です。
[手順6] Test1.java GcdTest.java後者は切り離されます
タイトル:2つの正の整数mとnを入力し、それらの最大公約数と最小公倍数を見つけます。
プログラムの分析:除去方法の使用。
【手順7】StChar.java
タイトル:文字の行を入力し、英語の文字、スペース、数字、およびその他の文字の数を数えます。
プログラム分析:whileステートメントを使用した場合の条件は、入力文字が「\ n」でないことです。
【手順8】TestAdd.java
タイトル:s = a + aa + aaa + aaaa + aa ... aの値を検索します。aは数値です。たとえば、2 + 22 + 222 + 2222 + 22222(現時点では合計5つの数字が追加されています)で、キーボードコントロールでいくつかの数字が追加されています。
プログラム分析:各アイテムの値を計算することが重要です。
[プログラム9] WanShu.java
トピック:数値がその係数の合計と完全に等しい場合、その数値は「最終数」と呼ばれます。たとえば、6 = 1 + 2 + 3です。1000内のすべてのカウントを見つけるようにプログラムします。
[プログラム10] TestBall.java
タイトル:ボールは高さ100メートルから自由に落下します。各着陸後、ボールは元の高さの半分にジャンプします。再び落下した後、10回目の着地時に何メートルを通過しましたか?10回目のリバウンドの高さは?
[プログラム11] TestTN.java
質問:1、2、3、4の数字がありますが、3桁の数字は、繰り返しのない異なる数字でいくつ構成できますか?彼らはいくらですか?
プログラム分析:100、10、1に入力できる数値は、1、2、3、および4です。すべての配置を形成した後、条件を満たさない配置を削除します。
[プログラム12] MoneyAward.javaの
タイトル:企業が発行するボーナスは、利益に基づいています。利益(I)が10万元以下の場合、ボーナスは10%増加できます;利益が10万元を超え、20万元未満の場合、10万元未満の部分は10%で控除され、10万元を超えますココアの部分は7.5%です; 200,000から400,000の間で200,000を超える部分は5%控除できます; 400,000、600,000の間で400,000を超える部分は3%控除できます; 60万から100万の間で、60万元を超える部分は1.5%控除できます; 100万元を超える場合、100万元を超える部分は1%控除され、キーボードから月の利益Iを入力します発行されたボーナスの総数は?
プログラム分析:分割と配置には数値軸を使用してください。ボーナス成長タイプを定義する必要性に注意してください。
[プログラム13] FindNumber.java
質問:100を追加した後の完全な平方である整数、および168を追加した場合の完全な平方である整数とは何ですか?
プログラム分析:100,000以内で判断し、処方前の数値に100を加え、処方前の数値に268を加え、処方後の結果が以下の条件を満たす場合はその結果です。
[プログラム14] TestDay.java
タイトル:年間通算日、月、月を入力し、この日が年間通算日かどうかを判断しますか?
プログラム分析:3月5日を例にとると、最初の2か月を合計してから、その年の最初の数日である5日を追加する必要があります。特別な状況で、うるう年を入力し、月が3より大きい場合は、1日を追加することを検討する必要があります。 。
[プログラム15] TestCompare.java
タイトル:3つの整数x、y、zを入力し、3つの数値を小さいものから大きいものに出力してください。
プログラム分析:xに最小数を置く方法を考え、x> yの場合は最初にxとyを比較し、次にxとyの値を交換してから、x> zの場合はxとzを使用して比較します次に、xとzの値を交換して、xを最小化できるようにします。
[プログラム16] Nine.java
タイトル:出力9 * 9式。
プログラム分析:分岐と列の考慮、合計9行と9列、iコントロール行、jコントロール列。
[プログラム17] MonkeyEatPeach.java
トピック:猿が桃を食べる問題:サルは初日にいくつかの桃を摘み取り、すぐに中毒せずに半分を食べて、もう1つ食べました。翌朝、彼は残りの桃を半分食べて、もう1つ食べました。 。その後、毎朝残りの半分と前日を食べました。10日目の朝にまた食べたいと思ったら、モモが一匹だけ残っていました。初日に選ばれた数を尋ねます。
プログラム分析:逆思考の方法を取り、後ろから前に推論します。
【手順18】Prog.java
タイトル:2人の卓球チームがそれぞれ3人で試合をします。チームAはa、b、cで構成され、チームBはx、y、zで構成されます。ゲームリストで抽選が決まりました。誰かが試合のリストをプレイヤーに求めました。aはxと比較しなかった、cはx、zと比較しなかったと述べた。3つのチームのリストを見つけるようにプログラムしてください。
プログラム分析:素数を判断する方法:2からsqrt(この数)を数値で除算します。それが除算できる場合、この数は素数ではないことを意味し、それ以外の場合は素数です。
[プログラム19] LingXing.java
トピック:次のパターンを印刷します(ひし形)
*
***
******
********
******
***
*
1.プログラム分析:最初グラフは2つの部分に分かれています。最初の4行には1つのルールがあり、最後の3行には1つのルールがあります。doubleforループを使用すると、最初のレイヤーが行を制御し、2番目のレイヤーが列を制御します。
[プログラム20] TestAdd2.java
タイトル:スコアのシーケンスがあります:2 / 1、3 / 2、5 / 3、8 / 5、13 / 8、21 / 13 ...このシーケンスの最初の20アイテムの合計を見つけます。
プログラム分析:分子と分母の変化する法則を理解してください。
[プログラム21] TestJieCheng.java
タイトル:1 + 2!+3!+ ... + 20!の合計
プログラム分析:このプログラムは、累積を累積に変換するだけです。
【プログラム22】
タイトル:再帰的方法を使用して5を見つけてください!TestJieCheng.java
プログラム分析:再帰式:fn = fn_1 * 4!
[プログラム23] TestAge.java
タイトル:一緒に座っている5人がいて、5人目は何歳ですか?彼は4人目より2歳年上だったと彼は言った。4人目の年齢を尋ねると、彼は3人目より2歳年上だったと言った。3人目に聞いて、2人目より2歳年上だと言います。2人目に聞いて、1人目より2歳年上だと言います。最後に最初の人に尋ねたところ、彼は10歳であると述べました。5人目は何歳ですか?
プログラム分析:再帰的な方法を使用して、再帰は2つの段階に分けられます:再帰と再帰です。5人目の年齢を知るには、4人目の年齢を知る必要があります。次に、1人目(10歳)が続き、次にプッシュバックされます。
[プログラム24] TestNumber.java
タイトル:5桁以下の正の整数を指定します。要件:1.数桁を見つけます。2。数字を逆の順序で印刷します。
[プログラム25] HuiWenShu.java
質問:5桁の数字です。回文かどうかを確認してください。つまり、12321は回文の数、1桁は数万と同じ、10桁は数千と同じです。
[プログラム26] Ex26.java
タイトル:曜日の最初の文字を入力して曜日を決定してください。最初の文字が同じである場合は、続けて2番目の文字を決定してください。
プログラム分析:ケースステートメントを使用することをお勧めします。最初の文字が同じ場合は、ケースステートメントまたはifステートメントを使用して2番目の文字を判断します。
【プログラム27】SuShu.java
トピック:100以内の素数を見つける
[プログラム28] TestSort.java
タイトル:数字を10個並べ替え
プログラム分析:選択方法を使用できます。つまり、最後の9つの比較から、最小のものを選択して最初の要素と交換し、次に2番目の要素を最後の8つと比較して交換します。
[プログラム29] TestAdd3.java
トピック:3 * 3行列の対角要素の合計を求める
プログラム分析:double forループを使用して入力の2次元配列を制御し、[i] [i]を累積して出力する
[プログラム30] ArraySort.java
トピック:ソートされた配列があります。次に、数値を入力し、元のように配列に挿入するように要求します。
プログラム分析:最初にこの数値が最後の数値より大きいかどうかを判断し、次に中央の数値を挿入する状況を検討します。挿入後、この要素の後の数値を1つずつ順番に移動します。
[プログラム31] ArrayConverse.java
タイトル:配列を逆の順序で出力します。
プログラム分析:最初のものを最後のものと交換します。
[プログラム32] Ex32.java
タイトル:右端から4〜7桁の整数をとります。
プログラム分析:次のように考えてください。
(1)最初にaを4ビット右にシフトします。
(2)下位4ビットがすべて1で残りがすべて0となる数を設定します。利用可能〜(〜0 << 4)
(3)上記2つの&演算を行います。
【程序33】YangHui.java
タイトル:Yang Huiトライアングルを印刷します(以下に示すように10行を印刷する必要があります)
プログラム分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
[手順34]以前にもう少し複雑なことが行われている
タイトル:サイズの順に、a、b、cの3つの数値を入力して出力します。
プログラム分析:ポインターメソッドを使用します。
[プログラム35] ArrayChange.java
トピック:入力配列、最初の要素との最大交換、最後の要素との最小交換、および出力配列。
[プログラム36] Array1.java
タイトル:n個の整数があるため、先行する数値はm桁ずつ順次後ろにシフトされ、最後のm個の数値が最初のm個の数値になります。
[プログラム37] Test3Quit.java
タイトル:サークルにn人がいて、順番に並んでいます。最初の人(1から3まで)から数えて、3を報告したすべての人がサークルから撤退し、残っている最後の数字を尋ねました。
[プログラム38] TestLength.java
トピック:関数を記述し、文字列の長さを見つけ、メイン関数に文字列を入力し、その長さを出力します。
[プログラム39] Test2.java
トピック:関数を記述します。入力nが偶数の場合は、関数を呼び出して1/2 + 1/4 + ... + 1 / nを見つけ、入力nが奇数の場合は、関数1/1 + 1/3 +を呼び出します。 。+ 1 / n(ポインター関数を使用)。
[プログラム40] Test3.java
トピック:文字列の並べ替え。
[プログラム41] MonkeyPeach.java
タイトル:ビーチには桃がたくさんあり、5匹のサルが分かれます。最初のサルが桃の山を5つの部分に分け、さらに1匹のサルがもう1匹を海に投げ込んで1つ取りました。2匹目のサルは残りの桃を5つの等しい部分に分け、さらに1匹を増やし、さらに1匹を海に投げ込んで1匹にしました。3匹目、4匹目、5匹目の猿がそうしました。はい、ビーチには桃がいくつありますか?
[プログラム42] Test4.java
タイトル:809 * ?? = 800 * ?? + 9 * ?? + 1
このうち、??は2桁を表し、8 * ??の結果は2桁、9 * ??の結果は3桁です。??で表される2桁の数字と、809 * ??の後の結果を見つけます。
[プログラム43] Test5.java
トピック:0-7が形成できる奇数を見つけます。
[プログラム44] TestEven.java
トピック:偶数は常に2つの素数の合計として表すことができます。
[プログラム45] TestPrime9.java
トピック:素数が9の数で割り切れるかどうかの判断
[プログラム46] TestString.java
トピック:2つの文字列連結プロシージャ
[プログラム47] TestPrint.java
タイトル:7つの数値(1から50)の整数値を読み取り、値が読み取られるたびに、プログラムは値の番号*を出力します。
[プログラム48] TestCode.java
タイトル:会社はデータを送信するために公衆電話を使用します。データは送信プロセス中に暗号化される4桁の整数です。暗号化ルールは次のとおりです:各桁に5を追加し、残りの桁を10で除算して桁を置き換えます次に、1位と4位、2位と3位を入れ替えます。
[プログラム49] TestString2.java
トピック:文字列内の部分文字列の出現回数を数える
[プログラム50] TestStu.java
タイトル:5人の学生がいて、各学生は3つのコースの結果を持っています。キーボードから上記のデータ(学生番号、名前、3つのコースの結果を含む)を入力し、平均スコアを計算し、元のデータと計算された平均を組み合わせますスコアはディスクファイル「スタッド」に保存されます。