프로그램 설계 시작 - Java 언어3주차 프로그래밍 작업

1 패리티
    :
               ,  -1      ,-1         。                   。
    :
      ,      (0,100000)。    -1       。
    :
    ,                  ,                  。           。
    :
9 3 4 2 5 7 -1
    :
4 2
    :500ms    :32000kb
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int oddNum = 0;
		int evenNum = 0;
		int digit = in.nextInt();
		while ( digit != -1 )
		{
			if( digit%2 != 0 )
			{
				oddNum++;
			}else
			{
				evenNum++;
			}
			digit = in.nextInt();
		}
		System.out.println(oddNum+" "+evenNum);
	}
}

2 디지털 특징값
               ,             。      ,             ,   1 ,   2 ,    。      n       x,  x n      ,     1,      0。                  0 1     ,           。  ,  342315,         001101。
                :
 
  
  
3
4
2
3
1
5
  
6
5
4
3
2
1
    
 
 
 
 
 
 
    
 
 
 
 
 
 
    
0
0
1
1
0
1
     
32
16
8
4
2
1

2진수 값에 따라 1의 비트를 더하면 결과 13이 나온다.
너의 프로그램은 마이너스 정수가 아닌 정수를 읽어야 한다. 정수의 범위는 [0100000]이다. 그리고 상술한 알고리즘에 따라 짝짓기를 나타내는 그 2진수 숫자를 계산하여 그에 대응하는 10진수 값을 출력해야 한다.
알림: 정수를 오른쪽에서 왼쪽으로 분해하고, 숫자는 매번 1을 더하고, 이진법은 매번 2를 곱한다.
    :
      ,      [0,100000]。
    :
    ,      。
    :
342315
    :
13
    :500ms    :32000kb
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int number = in.nextInt();
		int num = 1 ;
		int digit;
		int same;
		int two = 1;
		int result = 0;
		while (number>0)
		{
			digit = number%10;
			if (digit%2 == num%2)
			{
				same = 1;
			}
			else
			{
				same = 0;
			}
			result = result + same*two;
			num++;
			two = two*2;
			number = number/10;
		}
		System.out.println(result);
	}
}

좋은 웹페이지 즐겨찾기