전체 글

전체 글

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 (8,9,10,11,12)

    08. 월을 입력받아 몇 분기인지를 출력하는 프로그램을 switch ~ case문을 이용해 작성하시오. #include int main(void) { int month; printf("월 입력:"); scanf_s("%d", &month); switch (month) { case 1: printf("1사분기입니다."); break; case 2: printf("1사분기입니다."); break; case 3: printf("1사분기입니다."); break; case 4: printf("2사분기입니다."); break; case 5: printf("2사분기입니다."); break; case 6: printf("2사분기입니다."); break; case 7: printf("3사분기입니다."); break; c..

    (파이썬)프로젝트 오일러(Project Euler)17.1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는?

    1부터 5까지의 숫자를 영어로 쓰면 one, two, three, four, five 이고,각 단어의 길이를 더하면 3 + 3 + 5 + 4 + 4 = 19 이므로 사용된 글자는 모두 19개입니다. 1부터 1,000까지 영어로 썼을 때는 모두 몇 개의 글자를 사용해야 할까요? 참고: 빈 칸이나 하이픈('-')은 셈에서 제외하며, 단어 사이의 and 는 셈에 넣습니다. 예를 들어 342를 영어로 쓰면 three hundred and forty-two 가 되어서 23 글자, 115 = one hundred and fifteen 의 경우에는 20 글자가 됩니다. 사전 작업 one부터 onethound까지 일일이 입력할 수는 없다. 누군가는 입력해놓지 않았을까 하고 구글에 '1 to 1000 in english..

    불 대수 기본 공식

    기본적인 논리 함수 AND(논리곱): 입력 정보가 모두 참(1)이면 결과도 참이다. $A\cdot B$로 표현한다. OR(논리합): 입력 정보 중 하나라도 참이면 결과도 참이다. $A+B$로 표현한다. NOT(논리 부정):입력 정보의 반대 값이 결과가 된다. ${A}'$또는 $\bar{A}$로 나타낸다. AND A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1 OR A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1 NOT A NOT A 0 1 1 0 기본 공식 ※1은 참을 의미한다. 참 OR 참 = 참 이므로 1+1 = 1이다. ※ $\bar{A}$ 는 표에서 ${A}'$ 로 표현했다. 멱등법칙 $A+A=A$ A A A+A 0 0 0 1 1 1 $A\cdot A = A$ A A..

    중앙처리장치(CPU: Central Processing Unit)

    중앙처리장치는 사람의 두뇌와 같은 역할을 한다. 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치이다. 중앙처리장치는 제어장치(Control Unit), 연산장치(Arithmetic Logic Unit), 레지스터(Register)로 구성된다. 제어장치(Control Unit) 제어장치는 명령 레지스터에서 읽어들인 명령어를 해독하고 해당하는 장치에 제어 신호를 보내 명령을 수행하도록 지시한다. 프로그램 카운터(PC), 명령어 레지스터(IR), 부호기(제어신호 발생기), 명령어 해독기, 번지 해독기 등으로 구성되어 있다. 부호기(Encoder): 해독된 명령에 따라 제어 신호를 생성하는 회로 명령어 해독기(Decoder): 명령 레지스터에 있는 명령어를 해독하는 회로 번지 해독기: ..

    (파이썬)백준 10996.별 찍기 - 21

    예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. n = int(input()) if n % 2 != 0: #홀수인 경우 for i in range(n): print("* "* (n // 2 + 1)) print(" *"* (n // 2) ) if n % 2 == 0: #짝수인 경우 for i in range(n): print("* "* (n // 2)) print(" *"* (n // 2)) n이 홀수일 때는 첫 줄에 (별, 공백)을 n // 2 + 1 개, 둘째 줄에 (공백, 별) n // 2개 출력한다. 이 패턴을 n회 반복한다. n이 3이라면 * * * 이 패턴이 3회 반복되고, n이 5라면 * * * * * 이 패턴이 5회 반복된다. 짝수일 때는 (별, 공백), (공백, 별)을 n // 2 만..

    (파이썬)백준 2446. 별 찍기 - 9

    예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. n = int(input()) k = 0 for i in range(2 * n - 1, 0, -2): for j in range(k): print(" ", end = '') k += 1 for j in range(i , 0, -1): print("*", end = '') print("") k -= 2 for i in range(3, 2 * n, 2): for j in range(k): print(" ", end = '') k -= 1 for j in range(i): print("*", end = '') print("") 별 개수를 줄여나가려면 range를 역순으로 만들어야겠다고 생각했다. 그러니 n이나 i로는 공백을 찍기가 곤란해서 k라는 문자를 더 ..

    (파이썬)백준 4673.셀프 넘버

    문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

    (C언어, 파이썬)프로젝트 오일러(Project Euler)16.2^1000의 각 자리수를 모두 더하면?

    215 = 32768 의 각 자리수를 더하면 3 + 2 + 7 + 6 + 8 = 26 입니다. 21000의 각 자리수를 모두 더하면 얼마입니까? 1. 파이썬 a = str(2**1000) sum = 0 for i in range(len(a)): sum += int(a[i]) print(sum) 파이썬으로 구현하면 정말 쉬워진다. 21000을 문자열 형태로 저장하고, 문자열의 길이만큼 인덱스를 정수형태로 변환해 더하면 끝난다. 2. C언어 #define SIZE 400 #include int main(void) { int num[SIZE] = { 0 }; num[SIZE - 1] = 1; int i, j, sum = 0; for (i = 1; i = 10) { num[j - 1] = num[j - 1] +..