HTML+CSS(실습)

2023-03-28(화) 연습문제 (완전수판별 , 함수연습)

박성하하 2023. 3. 29. 14:25
728x90
반응형

1. 입력된 숫자의 완전수 판별

   1) prompt 및 parseInt로 상수 입력

   2) 입력된 숫자가 5라면 for 반복문을 4번 반복

   3) if를 사용해 나머지가 없는수(약수)를 count1에 담음

   4) 담기는 count1(약수) 들을 count2에서 최종적으로 합해줌

   5) 약수의 합과 입력된 값을 비교하여 완전수 판별

 

2. 1~100사이의 완전수 출력

   1) 완전수를 구별하는 방법은 상동

   2) 내부 반복문에서 걸러져 나온 완전수(count1)과 입력된수를 비교해

        동일하다면 최종적으로 해당숫자(완전수) 출력

   3) 하나의 완전수 출력 후 count1를 초기화해 다음숫자 계속 진행

 

3. 1~100사이의 소수

   1) 해당방법은 "소수+1=해당소수의 약수들의 합" 을 활용 (약수의 갯수를 활용하는방법도 있음)

   2) 외부반복문은 100번 , 내부반복문은 검사하는 숫자만큼 반복

   3) 7을 예로들면 7의 약수를 찾기위해 내부에서 7 / j(1~7) 를 진행

   4) 7의 약수인 1과7을 더해 count1에 저장 및 7(i)+1 = 8(count1) 비교 후 출력

   5) 해당과정을 반복하기위해 count1 초기화

 

 

1. 홀수짝수 판별함수

   1) 입력되는값 a를 2로 나누었을때 나머지로 짝수/홀수 판별

 

2. 1~100 합계 함수

   1) 가우스 덧셈법 활용

 

3. 입력값 2개 사이의 합계 함수

   1) 상동

1. 최대공약수 함수

   1) 6,9입력을 예시로함

   2) 6의 약수 1 2 3 6과 9의 약수 1 3 9를 비교해야함

   3) 첫번쨰 if문에서 1을 count1에 저장

   4) 두번쨰 for문에서 1과 1,3,9를 비교

   5) 동일한 값이 있다면 count3에 해당값을 저장

   6) 해당 순서대로 1 2 3 6과 1 3 9를 비교해 마지막값 즉 제일 큰 값을 count3에 저장해 return함

 

2. 최소공배수 함수

   1) 6,9입력을 예시로함

   2) 위 최대공약수와 비슷하게 6 12 18 24 ... 과 9 18 27 36 ... 을 순서대로 비교함

   3) 첫번쨰 for문에서 count4에 6을 저장

   4) 두번쨰 for문에서 9 * j(1~6) 을 하며 6과 비교하여 동일한 값이 있다면 count5에 저장

   5) count4 와 count5를 비교하여 리턴

   6) 첫번쨰for문은 9번 두번쨰for문은 6번만 반복되기때문에 6*9=54 가 함수에서 나올 수 있는 가장 큰 값이고,

        그 안에서 최대공배수 18이 저장되어 리턴된다

     

728x90
반응형