본문 바로가기

[정보처리기사] 최대 공약수(gcm), 최소공배수(lcm) - C언어 구현 최대 공양수 gcm의 약자는 Greatest Common Measure 최소 공배수 lcm의 약자는 Least Common Multiple #include int gcd( int a, int b ); int lcm( int a, int b ); int main( ) { int su1, su2; printf( "0을 입력하면 종료\n\n" ); while( 1 ) { printf( "두개의 정수 입력 : " ); scanf( "%d%d", &su1, &su2 ); if( su1 == 0 || su2 ==0 )return 0; printf( "GCD( 최대공약수 ): %d\n", gcd( su1, su2 ) ); printf( "LCM( 최소공배수 ): %d\n\n", lcm( su1, su2 ) ); } .. 더보기
[정보처리기사] 소수의 합 - C언어 구현 - 에라토스테네스의 체를 이용한 소수의 합 구하기 1. 에라토스테네스의 체란 2. 에라토스테네스의 체란 에라토스테네스의 체를 이용한 문제는 프로젝트 오일러 사이트에 올라온 문제이기도 하며, 에라토스테네스의 체를 이용 안하고 풀었을 때와 이용 했을 때의 시간 차이는 엄청납니다. 위의 링크 중 위키피디아 내용을 참고해서 소스를 만들었고, 소수 목록을 파일로 출력하여 따로 볼 수 있게 만들었습니다. 파일 저장 경로는 C:\prime.txt 인데, 관리자 계정이 아니거나 UAC가 켜져 있으면 실행하다 오류가 저장이 안되는데, 그럴때는 C드라이브 말고 D드라이브 등으로 경로를 바꿔주고 하면 됩니다. 암튼 에라토스테네스의 체의 핵심은 소수를 찾는게 아니라 소수가 아닌 걸 체로 걸러내고 남은 걸 찾는것입니다. #define MAX2000000 #include int.. 더보기
[정보처리기사] 소수의 합 - C언어 구현 일반적인 방법으로 소수의 합을 구하는 코드인데, 100만이나 200만 범위 내의 소수의 합을 구하려면 너무 느려요 ㅠㅠ 큰 범위 내의 소수의 합을 빠르게 구하고 싶으면 에라토스테네스의 체를 이용하면 됩니다. //1부터 입력한 수까지 소수의 합 #include int prime( int a ); int main( ) { int input; int i; int sum; printf( "0을 입력하면 종료\n\n" ); while(1) { sum = 0; //입력 printf("양의 정수를 입력 : "); scanf( "%d", &input ); if( input==0 )return 0; //입력한 수까지 반복하고, 소수가 리턴되면서 누적 for( i=2 ; i 더보기
[정보처리기사] 소수 판별 - C언어 구현 임의의 수를 입력하면 소수인지 판별해줌 #include int prime( int a ); int main( ) { int input; printf( "0을 입력하면 종료됩니다.\n\n" ); while( 1 ) { printf( "양의 정수를 입력 : " ); scanf( "%d", &input ); if( input==0 )return 0; if( prime(input) == 1 )printf( "%d는(은) 소수 입니다.\n\n", input ); if( prime(input) == 0 )printf( "%d는(은) 소수가 아닙니다.\n\n", input ); } return 0; } int prime( int a ) { int j; for( j=2 ; j 더보기
[정보처리기사] 피보나치 수열의 합 - C언어 구현 1. 피보나치 수열이란. 2. 피보나치 수열이란. MAX값을 조절해서 출력을 조절할 수 있음 //피보나치 수열 #define MAX 10 #include int main( ) { int i; int su1=1, su2=1, su3(0); int sum=2; int arr[MAX]={ 1, 1, 0, }; //연산 for( i=2 ; i 더보기
[정보처리기사] 1!+2!+3!+4!+···10!의 합 - C언어 구현 재귀호출로 처리#define _MAX 10 #include int factorial( int su ); int main( ) { int i, sum=0; for( i=1 ; i 더보기
[정보처리기사] 1+2+4+7+11+16+22... 의 합 - C언어 구현 이번에는 과정도 출력하며 _MAX 값을 바꿔줌에 따라 나열되는 항의 갯수가 바뀜 #define _MAX 20 #include int main( ) { int i=0, j=1; int sum=0; int arr[ _MAX ]; //계산 for( i=0 ; i 더보기
[정보처리기사] 1+2-3+4-5+ ··· +100의 합 - C언어 구현 #include const int nMax = 10; int main( ) { bool bSitch = true; int sum = 1; for( int i=2 ; i 더보기
[정보처리기사] 1+2+3+4+5+ ··· +100 까지의 합 - C언어 구현 2011년에 정보처리기사 공부하면서 작성했던 코드들 천천히 올립니다. 11년에 작성된 코드들이라 미흡한 점이 많고 코딩 스타일이 지금과 많이 다르며 틀린 부분이나 더 좋은 방법, 다른 방법 등 알려주면 ㄳㄳ #define_NORMAL #defineMAX 100 #include int main( ) { int i=0; int sum=0; #ifdef _NORMAL for( i=1 ; i 더보기
Visual Studio 단축키 Tap : 들여쓰기 Shift + Tab : 내어쓰기 Ctrl + Tab : 방금 전 문서로, 혹은 탭 간 전환 F2 : 설정된 북마크로 이동 F3 : 다음 찾기 F4 : 다음 에러 메시지로 이동(컴파일 후 에러) F8 : 찾기에서 다음 항목으로 이동 F9 : 현재 커서 위치에 BreakPoint 설정/해제 Alt + F8 : 자동 들여쓰기 조정 Ctrl + 1 : IDD_DIALOG Ctrl + 2 : IDR_MENU Ctrl + 3 : IDC_CURSOR Ctrl + 4 : IDI_ICON Ctrl + 5 : IDB_Bitmap Ctrl + 6 : IDR_ToolBar Ctrl + 7 : IDR_Accelerator Ctrl + 8 : String Table Ctrl + 9 : Visual Studi.. 더보기