バイナリしゅつりょく
669 ワード
質問する
自然数Nのこの整数を再帰関数を用いて出力する.
私の答え
import java.util.*;
class Main2 {
public void DFS(int n) {
if(n==0) return;
else {
DFS(n/2);
System.out.print(n%2);
}
}
public static void main(String[] args) {
Main2 T = new Main2();
T.DFS(11);
}
}
解答方法
自然数Nのこの整数は、Nを2で割って余剰を0に出力する値である.
ex)
11を2で割ったシェア=5、残り=1
5を2で割ったシェア=2、残り=1
2を2で割るシェア=1、残り=0
1を2で割ったシェア=0、残り=1.
11はバイナリで表され、1011である.
再帰関数はスタックフレームワークを使用し、
DFS(11)〜DFS(0)の順にスタックされる.
DFS(0)をDFS(11)に順にポップアップします.
Reference
この問題について(バイナリしゅつりょく), 我々は、より多くの情報をここで見つけました https://velog.io/@zmdals/이진수출력-재귀テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol