원지의 개발
728x90
[알고리즘] 유클리드 호제법 (Euclidean algorithm), 약수, 배수

유클리드 호제법 (Euclidean algorithm)두 개의 수가 있을 때, 최대공약수를 구하는 알고리즘소인수분해를 하면 효율적이지 않고, 두 수가 크면 시간 복잡도는 계속 증가하므로 유클리드 호제법 알고리즘을 사용하면 문제를 쉽게 해결 가능함GCD(a, b) = GCD(b, r)r : a mod b (a에서 b를 나눈 나머지)조건: 0 ≤ r a, b 를 서로 나눌 때, r=0 이 되면 그 때 b가 최대공약수나머지가 0이 되는 시점까지 계속해서 동일한 연산을 진행해야 하는데 몇번을 통해서 가능한지 알 수 없기 때문에 재귀형태로 구현해야 함최대공약수 GCDGreat Common Divisor: 가장 큰 공통된 약수1. 반복문int GCD(int a, int b) { while(b != 0) { ..

article thumbnail
[Java] method(메서드)
프로그래밍 언어/Java 2022. 10. 4. 18:14

메서드 (method) 반복적으로 수행되는 여러 문장을 메서드로 작성 반복되는 코드 블록에 이름을 붙여 놓은 것 장정: 코드의 중복을 줄임 / 관리 용이 / 재사용 가능 / 간결해서 이해하기 쉬워짐 하나의 메서드는 한 가지 기능만 수행하도록 작성 메서드의 이름 뒤에는 반드시 소괄호 ( ) return은 반드시 1개 메서드는 메서드 내부에 생성할 수 X - 절차지향인 C언어, 파이썬은 위 / 자바는 위, 아래 상관없음 (class 내부에만 있으면 됨) 좌측의 중복되는 코드 2개 ↓ 우측의 메서드 1개로 만듦 선언 방법 (암기 필수) (매개 변수1, 매개 변수2 ...) { // 메서드 호출시 수행될 코드; } // 예시 int add (int a, int b) { int..

article thumbnail
[Java] for, 중복 for, 향상된 for(배열 담기)
프로그래밍 언어/Java 2022. 9. 27. 18:03

for & for ~ for Quiz 출력은 가로, 혹은 세로로만 가능함 Quiz15 - 구구단 출력 (가로) 1. 가로로 출력하면 단은 바뀌고, 1은 고정 -> 밖 for: 1 = i, 안 for: 단 = j 밖: for(int i = 1; i 1x1=1 2x1=2 3x1=3 1x2=2 2x2=4 3x2=6 안for x 밖for = 안*밖 4. 1~3단, 4~6단, 7~9단 나눠서 출력 Quiz15 - 구구단 출력 (세로) - 복습 1. 세로로 봤을때는 밖 for인 단이 1, 4, 7로 늘어남 for(int i = 1; i 1x1=1 print( i + "x" + j + "=" + i*j + "\t") => 2x1=2 print( i + "x" + j + "=" + i*j + "\t") => 3x1=3..

article thumbnail
[Java] 반복문(while) 01
프로그래밍 언어/Java 2022. 9. 23. 17:49

반복문 (while, do~while, for) while 조건식을 만족하는 동안 반복문을 실행 참: 실행문을 반복, 거짓: while문을 빠져나옴 if문과 마찬가지로 조건식은 반드시 boolean타입 조건식 안에 true를 넣으면 무한루프가 발생 -> 탈출구문 필수 사용방법 int a = 1 while ( 조건문(참,거짓 ) { a++ or ++a } 순서 (+필수로 있어야 하는 식) 1. 제어변수 ( 시작 회전수를 결정하세요 변수 ) 2. 평범식 ( ex) a scanner 사용, num값 생성 2. 출력 => 구구단: num + 단 while 3. 반복문은 int a = 1부터 9까지 (1~9단) 4. 구구단 결과값 = int x = num * a 5. 구구단 출력 printf( "형식", 값, 값..

728x90
250x250