정수를 입력받아 소인수를 구해 출력하기 어떤 수를 소인수 분해하려면 입력받은 수를 2부터 차례대로 입력받은 수(NUM)의 제곱근까지의 숫자로 나누어 떨어지는지를 계산하시면 됩니다. 제곱근까지의 수 중 입력받은 수(NUM)을 처음으로 나누어 떨어지게 하는 수가 있으면 그 수는 소수이고, 입력받은 수(NUM)는 소인수가 됩니다. 소인수를 구했으면, 그때의 몫을 입력받은 수(NUM)에다가 치환하고 다시 NUM의 제곱근까지의 숫자로 나누는 작업을 반복합니다. 만약 제수가 NUM의 제곱근보다 커지면 그떄는 몫인 NUM자체가 그 수의 소인수가 됩니다. C언어 / C++ 코드 #include #include main() { int num,b,c,d,mok,nmg; int a[100]; scanf("%d",&num);..
정수를 입력받아 약수를 구해 출력하세요 어떤수 X를 1부터 X까지 차례대로 나누어 나머지가 0이 되게 하는 제수들이 X의 약수입니다. 예를 들어 10의 약수는 10을 나누었을 떄 나머지가 없게 하는 수이므로 1, 2, 5, 10입니다. C언어/C++ 코드 #include main() { int a[100];\ int b, mok, nmg, i; scanf("%d",&b); int c = 0, d = -1; while(1){ c++; if(c
입력받은 두수의 최대공약수와 최소공배수를 구하기 최대공약수와 최소공배수를 구할 두 수 중 큰수와 작은수를 정한 뒤 큰 수를 작은수로 나누어 나머지를 구합니다. 이때 나머지가 0이면 그때의 작은수가 최대공약수이고, 원래의 두수를 곱한 값을 최대공약수로 나눈 값이 최소공배수입니다. 만약 큰수를 작은수로 나누었을 때, 나머지가 0이 아니면, 그떄의 작은 수를 큰수로 하고 나머지를 작은수로 하여 나머지가 0이 될때까지 반복합니다. 더 빠른 최대공약수 구하는 유클리드 호제법이 궁금하시다면 아래 글을 참고해주세요. [Algorithm] 유클리드 호제법 - 최대공약수(GCD) 구하기 C언어 / C++ 코드 #include main() { int a,b,big,small,mok,nmg,gcm,lcm; scanf("%d..
배열 A[99]에 2~100 사이의 정수를 기억시킨 후 이 배열을 이용하여 소수의 개수를 구하시오. 배열에 들어있는 연속된 숫자의 소수 여부를 판별하기 위해서는 정수의 수열에서 처음 나온 소수의 배수들은 소수가 아니라는 원리를 이용합니다. 배열의 첫번째에 들어있는 2는 소수이지만 2의 배수들은 모두 소수가 아닙니다. 그러므로 2의 배수가 들어 있는 위치에는 모두 0을 채워 소수가 아님을 표시합니다. 소수의 판별은 배열의 해당 위치에 0이 들어 있는지만 확인하면 됩니다. C언어 / C++ 코드 #include main() { int k,i,j,m; int a[99]; k=1; do{ //배열 a에 값을 입력한다. k++; a[k-2] = k; }while(k98){ printf("%d번쨰까지의 소수의 갯수..
임의의 정수를 입력받아 그 안에 포함된 소수의 합을 구하기 입력받은 숫자 X의 범위에 속하는 모든 소스의 합계를 구하려면 숫자 2에서 X까지 증가시키면서 각각의 숫자가 소수인지를 판별한 후, 그 수가 소수일 때만 합계에 누적시키면 됩니다. [C언어] 소수를 판별하는 알고리즘 C언어 / C++ 코드 #include main(){ int a, sum, i, j; scanf("%d",&a); //정수형 변수 a에 정수를 입력받습니다. sum=0; i=2; j=2; while(1){ //무한루프 j=2;; while(i%j!=0) //i를 j로 나눈 나머지가 0 이아니라면 반복문을 수행합니다. j++; if(i==j){ //i와 j가 같으면 sum의 값에 i를 누적시킵니다. sum+=i; } if(i
1보다 큰 임의의 정수를 입력하여 소수를 판별 1. 입력받은 숫자보다 작은 모든숫자를 다 나누어본다. 어떤 수 X가 소수 인지를 판별하려면 X를 2부터 X보다 작은 수(X-1)까지 차례대로 나누어 떨어지는지 검사하면 됩니다. 예컨데 5는 2,3,4,로 나누었을때 한번도 나누어 떨어지지 않으므로 소수이고, 4는 2로 나누었을때 나누어 떨어지므로 소수가 아닙니다. C언어 / C++ 코드 #include main(){ int a, i, j; scanf("%d",&a); //정수형 변수 a에 정수를 입력받습니다. i=2; j=a-1; f(a==1){ //1은 소수가 아님 printf("소수아님"); return; } while(1){ //무한루프 if(i
피보나치 수열이란? 피보나치 수열은 첫번째 항과 두번쨰 항을 더해서 세번째 항을 만들고 두번쨰 항과 세번쨰 항을 더해서 네번쨰 항을 만드는 방법으로, 계속해서 다음항을 만들어가는 수열입니다. 피보나치 수열의 10번째 항까지의 합계 구하기 3개의 변수로 먼저 첫번째 항(A), 두번째 항(B), 세번째 항(C)를 만든 후, 두번째 항(B)를 첫번째 항(A)에 치환하고 세번째 항(C)를 두번째 항(B)에 치환한 후 첫번째 항(A)와 두번째 항(B)를 더하여 다시 세번째 항(C)를 만드는 방법을 반복합니다. C언어 / C++ 코드 #include main() { int a = 1, b =1; //첫번째항, 두번쨰항 int c; //세번째항 int sum = 2, cnt = 2; //합계 sum, 항의갯수 cnt..
팩토리얼 수열이란? 수학에서, 자연수의 계승 또는 팩토리얼은 그 수보다 작거나 같은 모든 양의 정수의 곱입니다. n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말입니다. 기호는 느낌표(!)를 사용합니다. 팩토리얼이라고 읽으며 팩토리얼을 줄여서 팩이라고 읽기도 합니다. 팩토리얼 수열의 5번째 항까지의 합계구하기 (1!+2!+3!+4!+5!) 팩토리얼의 합계를 구하는 알고리즘을 풀기 위해서는 각 항 사이에서 일정한 비율로 증가하여 곱할 값으로 사용할 증가 배수 변수 i, 증가 배수를 곱하여 수열의 각 항을 만들어 저장할 변수 Sum, 그리고 수열의 각 항인 j가 만들어질때마다 그 값을 누적할 변수 K가 필요합니다. C언어 / C++ 코드 #include main() { ..
1번문제 : 1 ~ 100까지의 합계 (1+2+3+4···+100) 0에서 1씩 증가시켜 100까지 변경되는 수열을 더하려면 두개의 변수를 선언하셔야 합니다. 변수 i에는 수열의 각항을 만들기 위하여 반복문을 사용하여 +1씩 더하여주고, 또다른 변수 Sum에는 수열의 각 항이 1씩증가할때마다 그값을 누적하여 저장하면 됩니다. C언어 / C++ 코드 #include main(){ int i,sum; //정수형변수 i와 sum을 선언 i=0; sum=0; //i와 sum을 0으로 초기화 do{ i++; //i를1씩 증가 sum +=i; //sum값에 i를 누적시켜 저장 }while(i
얼마전 정부에서 검증되지 않는 Https를 차단하겠다고 선언하고 얼마지나지 않아 다수의 검증되지 않은 Https 사이트의 접속이 차단되었습니다. 현재 윈도우, 맥, 크롬, 사파리, 익스플로러 등등 모든 기기와 웹브라우저에서 편법을 쓰지 않고서는 절대 접속할 수 없는 상황이 왔는데요. 검증되지 않은 Https 사이트에 접속하려고 하면 '사이트에 연결할 수 없음 연결이 재설정되었습니다.' 라는 메시지가 뜨고 있습니다. 하지만 언제나 불가능한것은 없습니다. 차단하는 방법도 다양한 만큼 Https 차단을 뚫는 방법도 무궁무진하게 많습니다. 마치 창과 방패의 대결이랄까요..? 이번 포스팅에서는 Https차단을 뚫는 방법에 대해 알아보도록 하겠습니다. 접속차단 우회 방법 Https 검열을 우회하는 방법은 다양한 방..
이번 포스팅에서는 아두이노 IDE(통합개발환경)의 설치방법에 대해 알아보도록 하겠습니다. 아두이노 IDE는 아두이노안에 내가 짠 소스코드를 넣어줄 수 있는 아두이노에서 제공하는 굉장히 가벼운 개발 툴입니다. 소스코드작성, 컴파일, 업로드등의 기능을 지원합니다. 아두이노(IDE) 설치 / 다운로드 방법 1. 우선 아두이노 홈페이지에 접속하여 아두이노 IDE 설치파일을 받으셔야 합니다. 아두이노 공식 홈페이지 : https://www.arduino.cc/ 2. 아두이노 공식 홈페이지에 접속하면 상단에 SoftWare라는 탭이있습니다. 여기서 위의 사진과 같이 Downloads를 클릭합니다. 3. Downloads를 클릭한 뒤 스크롤을 조금 내려보시면 위와같은 화면이 있을텐데요. 자신이 사용하고있는 운영체제에..
아두이노란 무엇인가? 이두이노란 물리적인 세계를 감지하고 제어할 수 있는 인터랙티브 객체들과 디지털 장치를 만들기 위한 도구로, 간단한 마이크로컨트롤러(Microcontroller) 보드를 기반으로 한 오픈 소스 컴퓨팅 플랫폼과 소프트웨어 개발 환경을 말합니다. 아두이노는 다양한 스위치나 센서로부터 입력 값을 받아들여 LED나 모터와 같은 전자 장치들로 출력을 제어함으로써 환경과 상호작용이 가능한 물건을 만들어 낼 수 있습니다. 예를 들어 단순한 로봇, 온습도계, 동작 감지기, 음악 및 사운드 장치, 스마트 홈 구현, 유아 장난감 및 로봇 교육 프로그램 등의 다양한 제품들이 아두이노를 기반으로 개발 가능합니다. 또한 아두이노는 회로가 오픈소스로 공개되어 있으므로 누구나 직접 보드를 만들고 수정할 수 있습..
저는 한달전에 인터넷 구매대행 사이트에서 QCY T2C를 약 3만원에 해외 직구했었습니다. 하지만 무슨 이유인지는 모르겠지만 계속해서 배송이 미뤄지더군요.. 그렇게 기다리기를 한달쯔음 됐을까요? 드디어 QCY-T2C가 배송이 되었습니다. 수요에 비해 공급이 따라오지 못해 배송이 지연되었다고 판매자 측에서는 말하였으나 한달은 좀 과했다는 생각이 듭니다. QCY-T2C는 QCY-T1S의 후속작인가요? QCY-T2C라고? 나는 QCY-T1밖에 모르는데 QCY-T1의 후속작인가? 라고 생각하시는 분들 있으실겁니다. 하지만 QCY-T2C는 QCY-T1S의 후속작은 아닙니다. 정확히 말씀드리자면 QCY-T2C는 QCY-T1S모델하고 같은 모델인데 어떤 매체로 판매되었냐에 따라 이름만 바뀌어져서 나오는 거라고 합니다..