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 |