자바공부
-
2020-09-22 문제 정수 X가 주어진다. 정수 X는 항상 8진수, 10진수, 16진수 중에 하나이다. 8진수인 경우에는 수의 앞에 0이 주어지고, 16진수인 경우에는 0x가 주어진다. X를 10진수로 바꿔서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다. 출력 첫째 줄에 입력받은 X를 10진수로 바꿔서 출력한다. 소스코드 Scanner scan = new Scanner(System.in); String X = scan.next(); String N =""; int N8 = 0; //8진수 값이 저장될 변수 int N16 = 0; //16진수 값이 저장될 변수..
백준 BaekJoon 11816번: 8진수, 10진수 16진수 [Java] 자바2020-09-22 문제 정수 X가 주어진다. 정수 X는 항상 8진수, 10진수, 16진수 중에 하나이다. 8진수인 경우에는 수의 앞에 0이 주어지고, 16진수인 경우에는 0x가 주어진다. X를 10진수로 바꿔서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다. 출력 첫째 줄에 입력받은 X를 10진수로 바꿔서 출력한다. 소스코드 Scanner scan = new Scanner(System.in); String X = scan.next(); String N =""; int N8 = 0; //8진수 값이 저장될 변수 int N16 = 0; //16진수 값이 저장될 변수..
2020.09.22 -
2020-09-18 소인수분해(영어: prime factorization, integer factorization)는 합성수를 소수의 곱으로 나타내는 방법을 말한다. 소인수분해를 일의적으로 결정하는 공식은 아직 발견되지 않았다. 현대 암호 처리에서 소인수분해의 어려움은 중요한 기준이 된다. 산술의 기본 정리(fundamental theorem of arithmetic)에 의해 모든 양의 정수는 소수들의 곱으로 표현하는 방법이 (곱의 순서를 바꾸는 것을 제외하면) 유일하게 존재한다. 그러나 산술의 기본정리는 그 소인수분해를 하는 방법을 알려주지는 않는다. 단지 존재성을 확인해 줄 뿐이다. 출처 : 위키피디아 소스코드 ※ 기본 알고리즘 원리는 우선 입력받은 값의 제곱근을 구해 [ EX) 10 제곱근 3.xx..
[Java] 자바 소인수 분해 / java 소인수 분해 구현하기2020-09-18 소인수분해(영어: prime factorization, integer factorization)는 합성수를 소수의 곱으로 나타내는 방법을 말한다. 소인수분해를 일의적으로 결정하는 공식은 아직 발견되지 않았다. 현대 암호 처리에서 소인수분해의 어려움은 중요한 기준이 된다. 산술의 기본 정리(fundamental theorem of arithmetic)에 의해 모든 양의 정수는 소수들의 곱으로 표현하는 방법이 (곱의 순서를 바꾸는 것을 제외하면) 유일하게 존재한다. 그러나 산술의 기본정리는 그 소인수분해를 하는 방법을 알려주지는 않는다. 단지 존재성을 확인해 줄 뿐이다. 출처 : 위키피디아 소스코드 ※ 기본 알고리즘 원리는 우선 입력받은 값의 제곱근을 구해 [ EX) 10 제곱근 3.xx..
2020.09.18 -
2020-09-17 문제 N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 만약 리스트의 길이가 100보다 작거나 같으면, 연속된 수를 첫째 줄에 공백으로 구분하여 출력한다. 만약 길이가 100보다 크거나 그러한 수열이 없을 때는 -1을 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int l = scan.nextInt(); int min = 100; // l보다는 크고 100..
백준 BaekJoon 1024번: 수열의 합 [Java] 자바2020-09-17 문제 N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 만약 리스트의 길이가 100보다 작거나 같으면, 연속된 수를 첫째 줄에 공백으로 구분하여 출력한다. 만약 길이가 100보다 크거나 그러한 수열이 없을 때는 -1을 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int l = scan.nextInt(); int min = 100; // l보다는 크고 100..
2020.09.17 -
2020-09-16 문제 어떤 파일 시스템에는 디스크 공간이 파일의 사이즈와 항상 같지는 않다. 이것은 디스크가 일정한 크기의 클러스터로 나누어져 있고, 한 클러스터는 오직 한 파일만 이용할 수 있기 때문이다. 예를 들어, 클러스터의 크기가 512바이트이고, 600바이트 파일을 저장하려고 한다면, 두 개의 클러스터에 저장하게 된다. 두 클러스터는 다른 파일과 공유할 수 없기 때문에, 디스크 사용 공간은 1024바이트가 된다. 파일의 사이즈와 클러스터의 크기가 주어질 때, 사용한 디스크 공간을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 파일의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,00..
백준 BaekJoon 1350번: 진짜 공간 [Java] 자바2020-09-16 문제 어떤 파일 시스템에는 디스크 공간이 파일의 사이즈와 항상 같지는 않다. 이것은 디스크가 일정한 크기의 클러스터로 나누어져 있고, 한 클러스터는 오직 한 파일만 이용할 수 있기 때문이다. 예를 들어, 클러스터의 크기가 512바이트이고, 600바이트 파일을 저장하려고 한다면, 두 개의 클러스터에 저장하게 된다. 두 클러스터는 다른 파일과 공유할 수 없기 때문에, 디스크 사용 공간은 1024바이트가 된다. 파일의 사이즈와 클러스터의 크기가 주어질 때, 사용한 디스크 공간을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 파일의 개수 N이 주어진다. N은 1,000보다 작거나 같은 자연수이다. 둘째 줄에는 파일의 크기가 공백을 사이에 두고 하나씩 주어진다. 파일의 크기는 1,000,00..
2020.09.16 -
2020-09-13 문제 수빈이는 심심해서 수열을 가지고 놀고 있다. 먼저, 정수 수열 A를 쓴다. 그리고 그 아래에 정수 수열 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다. 예를 들어, 수열 A가 1, 3, 2, 6, 8이라면, 수열 B는 1/1, (1+3)/2, (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5, 즉, 1, 2, 2, 3, 4가 된다. 수열 B가 주어질 때, 수빈이의 규칙에 따른 수열 A는 뭘까? 입력 첫째 줄에는 수열 B의 길이만큼 정수 N(1 ≤ N ≤ 100)이 주어지고, 둘째 줄에는 수열 Bi를 이루는 N개의 정수가 주어진다. (1 ≤ Bi ≤ 109) 출력 첫째 줄에는 수열 A를 이루는 N개의 정수를 출력한다. (1 ≤ Ai ≤ 109)..
백준 BaekJoon 10539번: 수빈이와 수열 [Java] 자바2020-09-13 문제 수빈이는 심심해서 수열을 가지고 놀고 있다. 먼저, 정수 수열 A를 쓴다. 그리고 그 아래에 정수 수열 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다. 예를 들어, 수열 A가 1, 3, 2, 6, 8이라면, 수열 B는 1/1, (1+3)/2, (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5, 즉, 1, 2, 2, 3, 4가 된다. 수열 B가 주어질 때, 수빈이의 규칙에 따른 수열 A는 뭘까? 입력 첫째 줄에는 수열 B의 길이만큼 정수 N(1 ≤ N ≤ 100)이 주어지고, 둘째 줄에는 수열 Bi를 이루는 N개의 정수가 주어진다. (1 ≤ Bi ≤ 109) 출력 첫째 줄에는 수열 A를 이루는 N개의 정수를 출력한다. (1 ≤ Ai ≤ 109)..
2020.09.13 -
2020-09-13 문제 상근이는 망가진 전투 드로이드를 고치려고 하고 있다. 전투 드로이드의 각 부품의 가격은 다음과 같다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 음이 아닌 정수 다섯 개(A B C D E)로 이루어져 있다. A: 필요한 블래스터 라이플의 개수 B: 필요한 시각 센서의 개수 C: 필요한 청각 센서의 개수 D: 필요한 팔의 수 E: 필요한 다리의 수 출력 각 테스트 케이스마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다. 소스코드 ※ 출력값을 소수 둘째 자리까지 출력하는 함수만 알고 있다면 손쉽게 풀 수 있는 문제이다. 우선적으로 가격표 배열을 하난 만든 후..
백준 BaekJoon 5361번: 전투 드로이드 가격 [Java] 자바2020-09-13 문제 상근이는 망가진 전투 드로이드를 고치려고 하고 있다. 전투 드로이드의 각 부품의 가격은 다음과 같다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 음이 아닌 정수 다섯 개(A B C D E)로 이루어져 있다. A: 필요한 블래스터 라이플의 개수 B: 필요한 시각 센서의 개수 C: 필요한 청각 센서의 개수 D: 필요한 팔의 수 E: 필요한 다리의 수 출력 각 테스트 케이스마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다. 소스코드 ※ 출력값을 소수 둘째 자리까지 출력하는 함수만 알고 있다면 손쉽게 풀 수 있는 문제이다. 우선적으로 가격표 배열을 하난 만든 후..
2020.09.13 -
2020-09-11 그레이 부호 또는 그레이 코드(gray code는 이진법 부호의 일종으로, 연속된 수가 1개의 비트만 다른 특징을 지닌다. 연산에는 쓰이진 않고 주로 데이터 전송, 입출력 장치, 아날로그-디지털 간 변환과 주변장치에 쓰인다.[1] 출처 : 위키피디아 소스코드 Scanner scan = new Scanner(System.in); int [] arr = new int [5]; //4자리의 그레이 코드를 받을 변수다 //크기가 5인 이유는 맨앞에 숫자가 //0이나 1이냐 판단하여, //0일 경우에는 그레이코드 → 이진수 변환 //1일 경우에는 이진수 → 그레이코드 변환 for(int i = 0; i < arr.length; i++) { arr[i] = scan.nextInt(); } int..
[Java] 자바 그레이 코드 구현,변환하기! / 그레이코드 이론 공부2020-09-11 그레이 부호 또는 그레이 코드(gray code는 이진법 부호의 일종으로, 연속된 수가 1개의 비트만 다른 특징을 지닌다. 연산에는 쓰이진 않고 주로 데이터 전송, 입출력 장치, 아날로그-디지털 간 변환과 주변장치에 쓰인다.[1] 출처 : 위키피디아 소스코드 Scanner scan = new Scanner(System.in); int [] arr = new int [5]; //4자리의 그레이 코드를 받을 변수다 //크기가 5인 이유는 맨앞에 숫자가 //0이나 1이냐 판단하여, //0일 경우에는 그레이코드 → 이진수 변환 //1일 경우에는 이진수 → 그레이코드 변환 for(int i = 0; i < arr.length; i++) { arr[i] = scan.nextInt(); } int..
2020.09.11 -
2020-09-10 선택 정렬(選擇整列, selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 주어진 리스트 중에 최솟값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 Θ(n2) 만큼의 시간이 걸린다. 선택 정렬은 알고리즘이 단순하며 사용할 수 있는 메모리가 제한적인 경우에 사용 시 성능 상의 이점이 있습니다. 출처 : 위키피디아 말은 어려워 보일 수 있지만 무작이로 정렬되어 있는 배열 4 8 9 10 2 1 3 5 6 7을 1 2 3 4 5 6 7 8 9 10처럼 최솟값..
[Java] 자바 선택정렬 구현하기 / 자바 배열 선택정렬 이론 공부2020-09-10 선택 정렬(選擇整列, selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 주어진 리스트 중에 최솟값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 Θ(n2) 만큼의 시간이 걸린다. 선택 정렬은 알고리즘이 단순하며 사용할 수 있는 메모리가 제한적인 경우에 사용 시 성능 상의 이점이 있습니다. 출처 : 위키피디아 말은 어려워 보일 수 있지만 무작이로 정렬되어 있는 배열 4 8 9 10 2 1 3 5 6 7을 1 2 3 4 5 6 7 8 9 10처럼 최솟값..
2020.09.10 -
2020-09-10 문제 상근이는 창고에서 링 N개를 발견했다. 상근이는 각각의 링이 앞에 있는 링과 뒤에 있는 링과 접하도록 바닥에 내려놓았다. 상근이는 첫 번째 링을 돌리기 시작했고, 나머지 링도 같이 돌아간다는 사실을 발견했다. 나머지 링은 첫 번째 링 보다 빠르게 돌아가기도 했고, 느리게 돌아가기도 했다. 이렇게 링을 돌리다 보니 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 도는지 궁금해졌다. 링의 반지름이 주어진다. 이때, 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 돌아가는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 링의 개수 N이 주어진다. (3 ≤ N ≤ 100) 다음 줄에는 링의 반지름이 상근이가 바닥에 놓은 순서대로 주어진다. 반지름은 1과 1000를 포함하는 사..
백준 BaekJoon 3036번: 링 [Java] 자바2020-09-10 문제 상근이는 창고에서 링 N개를 발견했다. 상근이는 각각의 링이 앞에 있는 링과 뒤에 있는 링과 접하도록 바닥에 내려놓았다. 상근이는 첫 번째 링을 돌리기 시작했고, 나머지 링도 같이 돌아간다는 사실을 발견했다. 나머지 링은 첫 번째 링 보다 빠르게 돌아가기도 했고, 느리게 돌아가기도 했다. 이렇게 링을 돌리다 보니 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 도는지 궁금해졌다. 링의 반지름이 주어진다. 이때, 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 돌아가는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 링의 개수 N이 주어진다. (3 ≤ N ≤ 100) 다음 줄에는 링의 반지름이 상근이가 바닥에 놓은 순서대로 주어진다. 반지름은 1과 1000를 포함하는 사..
2020.09.10 -
2020-09-09 안녕하세요~! 오늘은 입력한 임의의 숫자 n에 대하여, 해당 수의 배수와 그들의 합 개수를 구해보도록 하겠습니다. 어렵지 않은 내용이니 바로 코드 첨부 후 설명하도록 하겠습니다. 소스코드 ※ 우선 변수를 설명하겠습니다. mok : 범위 변수 i 나누기 입력된 변수의 값이 저장 nmg : 범위 변수 i 나누기 입력된 변수 후 나머지 값이 저장 → 코드 진행간 0인지 아닌지 여부 체크 할 예정 모든 배수를 구하고자 하면 범위가 무한대로 증가하기 때문에 1 ~ 100 까지 범위를 한정지어 코드를 작성했습니다. //n의 배수의 개수와 합 구하기 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int mok, nmg; int su..
[Java] 자바 N의 개수와 합을 구해보자! / N의 배수 합 구하기2020-09-09 안녕하세요~! 오늘은 입력한 임의의 숫자 n에 대하여, 해당 수의 배수와 그들의 합 개수를 구해보도록 하겠습니다. 어렵지 않은 내용이니 바로 코드 첨부 후 설명하도록 하겠습니다. 소스코드 ※ 우선 변수를 설명하겠습니다. mok : 범위 변수 i 나누기 입력된 변수의 값이 저장 nmg : 범위 변수 i 나누기 입력된 변수 후 나머지 값이 저장 → 코드 진행간 0인지 아닌지 여부 체크 할 예정 모든 배수를 구하고자 하면 범위가 무한대로 증가하기 때문에 1 ~ 100 까지 범위를 한정지어 코드를 작성했습니다. //n의 배수의 개수와 합 구하기 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int mok, nmg; int su..
2020.09.09 -
2020-09-08 문제 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다. 두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 두 정수 A와 B가 주어진다. (1
백준 BaekJoon 2864번: 5와 6의 차이 [Java] 자바2020-09-08 문제 상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다. 상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다. 두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 두 정수 A와 B가 주어진다. (1
2020.09.08 -
2020-09-07 오늘은 특정 배열 내에서의 최댓값과 최솟값을 구하는 방법을 알아보도록 하겠습니다. 숫자의 범위는 이해를 쉽게 하기 위해 1~10까지의 수가 들어간 배열을 산정하였습니다. 소스코드 a = 1부터 증가하는 숫자가 들어갈 배열 ex) a[0] 1이 들어갈 예정; int i = 0; int [] a = new int[10]; int count = 0; //1씩 증가되는 수가 저장될 변수 int max = 0, min = 10000; //최댓값과 최솟값이 들어갈 변수; do { count++; a[i] = count; if(max = a[i]) { min = a[i]; } //배열에 삽입된 값이 최댓값인지 최솟값인지 //계속 비교하며 값은 갱신함 i++; //배열의 위치를 하나씩 증가시켜준다...
[Java] 자바 최대값 최소값 구하기 / 극한값 제외 평균 구하기2020-09-07 오늘은 특정 배열 내에서의 최댓값과 최솟값을 구하는 방법을 알아보도록 하겠습니다. 숫자의 범위는 이해를 쉽게 하기 위해 1~10까지의 수가 들어간 배열을 산정하였습니다. 소스코드 a = 1부터 증가하는 숫자가 들어갈 배열 ex) a[0] 1이 들어갈 예정; int i = 0; int [] a = new int[10]; int count = 0; //1씩 증가되는 수가 저장될 변수 int max = 0, min = 10000; //최댓값과 최솟값이 들어갈 변수; do { count++; a[i] = count; if(max = a[i]) { min = a[i]; } //배열에 삽입된 값이 최댓값인지 최솟값인지 //계속 비교하며 값은 갱신함 i++; //배열의 위치를 하나씩 증가시켜준다...
2020.09.07 -
2020-09-06 문제 경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.) 예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자. A 학교에서는 모든 학생에게 사과를 두 개씩 나눠주고 4개의 사과가 남게 된다. B 학교에서는 모든 학생에게 사과를 한 개씩 나눠주고 9개의 사과가 남게 된다. 비슷하게 C 학교에서는 3개의 사과가, D 학교에서는 10개의 사과가, E 학교에서는 0개의 사과가 남게 되어, 남는..
백준 BaekJoon 10833번: 사과 [Java] 자바2020-09-06 문제 경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.) 예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자. A 학교에서는 모든 학생에게 사과를 두 개씩 나눠주고 4개의 사과가 남게 된다. B 학교에서는 모든 학생에게 사과를 한 개씩 나눠주고 9개의 사과가 남게 된다. 비슷하게 C 학교에서는 3개의 사과가, D 학교에서는 10개의 사과가, E 학교에서는 0개의 사과가 남게 되어, 남는..
2020.09.06 -
2020-09-04 피보나치 수열 정의 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. 출처 : 위키피디아 소스코드 ※ 10번째 피보나치 수열 즉 F10을 구해보자. ※ 피보나치 수열은 0 부터 시작한다. int a = 0; //첫째 항 int b = 1; //둘째 항 int c = 0; // 셋째 항 = 출력값 for(int i = 1; i < 10; i++) { c = a + b; a = b; b = c; } // 피보나치는 0, 1, 1, 2, ... 순으로 커지기 때문에 // F0의 값은 a와 같고 F1..
[Java] 자바 피보나치 수열을 구해보자! / 피보나치 수열 구하는법 이론2020-09-04 피보나치 수열 정의 수학에서, 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. 처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다. 편의상 0번째 항을 0으로 두기도 한다. 출처 : 위키피디아 소스코드 ※ 10번째 피보나치 수열 즉 F10을 구해보자. ※ 피보나치 수열은 0 부터 시작한다. int a = 0; //첫째 항 int b = 1; //둘째 항 int c = 0; // 셋째 항 = 출력값 for(int i = 1; i < 10; i++) { c = a + b; a = b; b = c; } // 피보나치는 0, 1, 1, 2, ... 순으로 커지기 때문에 // F0의 값은 a와 같고 F1..
2020.09.04 -
2020-09-04 팩토리얼 정의 수학에서, 자연수의 계승 또는 팩토리얼(階乘, 문화어: 차례곱, 영어: factorial)은 그 수보다 작거나 같은 모든 양의 정수의 곱이다. n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말이다. 출처: 위키피디아 위와 같은 팩토리얼을 자바의 반복문인 for 과 while을 통해서 구해보도록 해보겠습니다! for문 사용 소스코드 ※ 특정 숫자의 팩토리얼을 알고 싶다면, i 의 범위 값을 조절하면 된다. ex) 5! 값은 i 값을 5로 바꾼뒤에 temp 출력 / 5! 까지의 합은 sum 출력 int temp = 1; //각 i에 다른 팩토리얼이 저장되는 값 // ex) i = 2 → 2! int sum = 0; //각 팩토리얼이 더해..
[Java] 자바 팩토리얼을 구해보자! / 1! + 2! + 3! . . . . + 10!의 합은?2020-09-04 팩토리얼 정의 수학에서, 자연수의 계승 또는 팩토리얼(階乘, 문화어: 차례곱, 영어: factorial)은 그 수보다 작거나 같은 모든 양의 정수의 곱이다. n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말이다. 출처: 위키피디아 위와 같은 팩토리얼을 자바의 반복문인 for 과 while을 통해서 구해보도록 해보겠습니다! for문 사용 소스코드 ※ 특정 숫자의 팩토리얼을 알고 싶다면, i 의 범위 값을 조절하면 된다. ex) 5! 값은 i 값을 5로 바꾼뒤에 temp 출력 / 5! 까지의 합은 sum 출력 int temp = 1; //각 i에 다른 팩토리얼이 저장되는 값 // ex) i = 2 → 2! int sum = 0; //각 팩토리얼이 더해..
2020.09.04 -
2020-08-31 이론 1부터 100까지의 수의 합을 구하는 방법 1 + 2 + 3 . . . . . . + 100 까지의 합을 손쉽게 코딩으로 구하는 방법을 알아보도록 하겠습니다. int sum, number; number = 0; sum = 0; // 우선적으로 1씩 더해줄 변수 number 선언 // 각 number가 더해질 sum변수를 선언합니다. do { number++; sum += number; }while(number
[Java] 자바 수열 연속합 구하기 1~100까지의 합구하기 / 자바수열2020-08-31 이론 1부터 100까지의 수의 합을 구하는 방법 1 + 2 + 3 . . . . . . + 100 까지의 합을 손쉽게 코딩으로 구하는 방법을 알아보도록 하겠습니다. int sum, number; number = 0; sum = 0; // 우선적으로 1씩 더해줄 변수 number 선언 // 각 number가 더해질 sum변수를 선언합니다. do { number++; sum += number; }while(number
2020.08.31 -
2020-08-31 거듭제곱 수학에서, 거듭제곱(승멱乗冪 또는 멱冪, exponentiation)은 주어진 수나 문자를 주어진 횟수만큼 여러 번 곱하는 이항연산이다. 이 주어진 수를 밑(영어: base)이라고 하고, 주어진 횟수를 지수(指數, 영어: exponent 또는 power, 문화어: 어깨수)라고 한다. 소스코드 int Two = 2; System.out.println(Math.pow(Two, 2)); //앞에는 제곱을 하고자하는 수 //뒤에는 제곱하고자 하는 만큼의 수를 입력해 준다. //출력값 : 4.0 System.out.println(Math.pow(Two, 3)); //출력값 : 8.0 제곱근 수학에서, 어떤 수의 제곱근(제곱根, 영어: square root)은 제곱하여 그 수가 되는 수..
[Java] 자바 제곱/제곱근을 구해보자! / 자바 제곱 제곱근 구하는법2020-08-31 거듭제곱 수학에서, 거듭제곱(승멱乗冪 또는 멱冪, exponentiation)은 주어진 수나 문자를 주어진 횟수만큼 여러 번 곱하는 이항연산이다. 이 주어진 수를 밑(영어: base)이라고 하고, 주어진 횟수를 지수(指數, 영어: exponent 또는 power, 문화어: 어깨수)라고 한다. 소스코드 int Two = 2; System.out.println(Math.pow(Two, 2)); //앞에는 제곱을 하고자하는 수 //뒤에는 제곱하고자 하는 만큼의 수를 입력해 준다. //출력값 : 4.0 System.out.println(Math.pow(Two, 3)); //출력값 : 8.0 제곱근 수학에서, 어떤 수의 제곱근(제곱根, 영어: square root)은 제곱하여 그 수가 되는 수..
2020.08.31 -
2020 / 07 / 11 오늘은 백준 1929 소수 구하기 문제풀이 알고리즘 해답을 알려드리겠습니다 백준 1929 자바 우선은 소수란 7과 같이 나눌 수 있는 수가 1과 자기 자신밖에 없는 수를 말합니다. 위키백과 왈... 소수(素數, [소쑤])는 수학에서 1과 그수 자신 이외의 자연수로는 나눌 수 없는, 1보다 큰 자연수이다. 소수(小數, [소수]) 수학에서 소수점을 찍어 나타낸 실수이다. 소수(小數)는 수학에서 0보다 크고 1보다 작은 수이다. Scanner scan = new Scanner(System.in); System.out.println("숫자를 입력해주세요."); int M = scan.nextInt(); // 작은 값 int N = scan.nextInt(); // 큰 값 int cou..
백준 BaekJoon 1929번: 소수구하기 [Java] 자바2020 / 07 / 11 오늘은 백준 1929 소수 구하기 문제풀이 알고리즘 해답을 알려드리겠습니다 백준 1929 자바 우선은 소수란 7과 같이 나눌 수 있는 수가 1과 자기 자신밖에 없는 수를 말합니다. 위키백과 왈... 소수(素數, [소쑤])는 수학에서 1과 그수 자신 이외의 자연수로는 나눌 수 없는, 1보다 큰 자연수이다. 소수(小數, [소수]) 수학에서 소수점을 찍어 나타낸 실수이다. 소수(小數)는 수학에서 0보다 크고 1보다 작은 수이다. Scanner scan = new Scanner(System.in); System.out.println("숫자를 입력해주세요."); int M = scan.nextInt(); // 작은 값 int N = scan.nextInt(); // 큰 값 int cou..
2020.07.11