//再帰
Nの//再帰的な階乗
インポートjava.util.Scanner;
パブリッククラスTest39 {
パブリック静的無効メイン(文字列[] args){
スキャナスキャナ=新しいスキャナ(System.in)。
INT NUM = scanner.nextInt()。
INT RET =因子(か)。
System.out.println( "RET =" + RET)。
}
パブリックstatic int型因子(INT N){
IF(N == 1){
1を返します。
}
リターンN *因子(N-1)。
}
}
//再帰1 + 2 + 3 + ... + 10
パブリッククラスTest40 {
パブリック静的無効メイン(文字列[] args){
System.out.println(追加(10));
}
公共の静的なint型の追加(int型のn){
IF(N == 1){
1を返します。
}
リターンN +は、(N-1)を加えます。
}
}
//(再帰的に)各ビット(例えば、1234枚の1枚の234プリントアウト)するためのディジタル・シーケンスを印刷します
インポートjava.util.Scanner;
パブリッククラスTest41 {
パブリック静的無効メイン(文字列[] args){
スキャナスキャナ=新しいスキャナ(System.in)。
System.out.println( "整数を入力します。");
INT NUM = scanner.nextInt()。
(か)印刷、
}
パブリック静的ボイドプリント(INT N){
IF(N> 9){
プリント(N / 10)。
}
System.out.println(N%10)。
}
}
/ 4、それは数字と、組成物の合計を返し、非負の整数を入力し、再帰的な方法を記述します。
インポートjava.util.Scanner;
パブリッククラスTest42 {
パブリック静的無効メイン(文字列[] args){
スキャナスキャナ=新しいスキャナ(System.in)。
System.out.println(「非負の整数を入力してください」);
INT NUM = scanner.nextInt()。
System.out.println(追加(NUM));
}
公共の静的なint型の追加(int型のn){
IF(N <10){
n個返します。
}
リターンN%10 +追加(N / 10)。
}
}
// 5、再帰項目Nフィボナッチ列
インポートjava.util.Scanner;
パブリッククラスTest43 {
パブリック静的無効メイン(文字列[] args){
スキャナスキャナ=新しいスキャナ(System.in)。
System.out.println( "整数を入力します。");
INT NUM = scanner.nextInt()。
System.out.println(フィボナッチ(NUM))。
}
パブリックstatic int型フィボナッチ(INT N){
IF(N == 1 || N == 2){
1を返します。
}
戻りフィボナッチ(N-1)+フィボナッチ(N-2)。
}
}
/ 7、再帰的な実装コード:カエルのジャンプ階段質問
// Aのカエルは、クラス1つのレベルにジャンプすることができ、あなたはまた、レベル2に飛び乗っすることができます。カエルはどのように多くのジャンプのn級レベルの合計を求めて飛び込みました
インポートjava.util.Scanner;
パブリッククラスTest45 {
パブリック静的無効メイン(文字列[] args){
スキャナスキャナ=新しいスキャナ(System.in)。
System.out.println(「ステップ数を入力してください。」);
INT NUM = scanner.nextInt()。
System.out.println(一種(NUM));
}
パブリックstatic int型の種類(INT N){
IF(N == 0){
0を返します。
}そうであれば(N == 1 || N == 2){
n個返します。
}
戻り種類(N-2)+種(N-1)。
}
}