본문 바로가기

개발하자/JAVA문제풀이

이진수로 변경하는 프로그램작성(재귀함수 이용)

10 진수를 입력으로 받아 이진수로 변경하는 프로그램을 작성하시오.

입력

입력으로 1000 이하의 자연수가 주어진다.

출력

입출력 예

입력

10

출력

1010

입력

11

출력

1011

요구사항

아래 프로그램을 분석 후 재귀를 사용할 것

#include <stdio.h>
void print(int n){   
if ( n != 1 ) print(n-1);  
 printf("%d ",n);}
int main(){   
print(5);
}
sol)
import java.util.Scanner;
class Main{
 static String p(int n){
   int temp=n;
   int s=temp/2; 
   int w=0;
   String sum="";  
   String sum1="";
   if(s!=0){
    sum+=temp%2;
   return sum+p(s);
   }
   if(n%2==0){  
    w=n%2;
    }else if(n%2==1){
    w=n%2;
    }
    sum1=sum+w;
   return sum1;
   }
 public static void main(String[] args){
  Scanner sc = new Scanner(System.in);
  int tt=sc.nextInt();
  String num=""+p(tt);
  String t="";
  for(int i=num.length()-1;i>=0;i--){   
     t+=num.charAt(i);   
    }
  System.out.println(t);
  
 }
}

 

'개발하자 > JAVA문제풀이' 카테고리의 다른 글

frequency (수의 빈도수 계산)  (0) 2015.01.06
윷놀이  (0) 2015.01.06
버블정렬(재귀함수 사용)  (0) 2015.01.06
2진회귀수 문제  (0) 2015.01.06
수뒤집기&회귀수 문제  (0) 2015.01.06