Mathemagics
close
프로필 배경
프로필 로고

Mathemagics

  • 분류 전체보기 (64)
    • Statistics (3)
    • Topology (21)
      • Practice (15)
      • Outline (6)
    • Programming (9)
      • Algorithm (4)
      • Befunge (5)
    • Engineering Mathematics (10)
    • Algebra (1)
    • Data Mining (5)
    • Circuits (1)
    • Algorithm (14)
  • 홈
  • 태그
  • 방명록
[Befunge] 분할정복을 이용한 거듭제곱

[Befunge] 분할정복을 이용한 거듭제곱

BOJ 1629. 곱셈 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net A를 B번 곱한 값을 C로 나누어 그 나머지를 출력하는 문제이다. A를 일일이 B번 곱하는 것은 시간초과를 발생시킨다. 따라서 분할정복을 사용하였다. (6, 6)에는 1, (7, 7)에는 A, (8, 8)에는 B, (9, 9)에는 C를 저장한다. 답이 되는 수는 (6, 6)에 만들 것이다. B가 홀수라면, (6, 6) 값과 (7, 7) 값을 곱하고 C로 나누어 나머지를 (6, 6)에 넣는다. 그 후에 (7, 7) 값을 제곱하고, B를 2로 나눈다. B가 0이 될 때까지 위 과정을 반복하면, (6, 6)에..

  • format_list_bulleted Programming/Befunge
  • · 2022. 4. 18.
  • textsms
[Befunge] 백준 단계별로 풀어보기 3. 반복문 (1-14)

[Befunge] 백준 단계별로 풀어보기 3. 반복문 (1-14)

Befunge로 반복문 문제를 해결해보았다. 문제는 https://www.acmicpc.net/step/3 에서 확인할 수 있다. 2739. 구구단 구구단을 출력하는 문제다. 반복자(iterator)를 1씩 늘려가면서, 그 값이 9 이하인지를 "_"를 이용한 조건문으로 판단할 수 있다. &99p1>:a-!#@_99g." *",,:." =",,:99g*.a,1+v ^ :!#@_&&+.1-a,v ^ :!#v_:99g+99p1-v ^ 99g.@ 15552. 빠른 A+B (시간 초과) 위의 "A+B - 3" 문제와 동일하나, 빠른 풀이를 찾지 못했다. &v ,>:!#@_&&+.1-a 2741. N 찍기 반복자를 1씩 늘려가면서, $ N $ 이하인 동안 그 수를 출력하면 된다. &99p0>:99g-!#@_1..

  • format_list_bulleted Programming/Befunge
  • · 2022. 4. 5.
  • textsms
[Befunge] 백준 단계별로 풀어보기 2. 조건문 (1-7)

[Befunge] 백준 단계별로 풀어보기 2. 조건문 (1-7)

오늘은 백준 단계별로 풀어보기의 2단계를 Befunge로 풀어 보았다. 문제들은 https://www.acmicpc.net/step/4 에서 확인할 수 있다. 문제의 난이도는 Solved.ac 기준 브론즈 4 - 브론즈 3이다. 1330. 두 수 비교하기 두 수를 비교해서 부등호나 등호를 출력하는 문제다. 단순히 두 수의 대소 관계를 비교하는 "`"를 사용하면 풀릴 줄 알고 다음 코드를 작성했다. &88p&99p88g99g`#v_99g88g`#v_"==",,@ >">",@ >"",@ >"

  • format_list_bulleted Programming/Befunge
  • · 2022. 4. 3.
  • textsms
[Befunge] 백준 단계별로 풀어보기 1. 입출력과 사칙연산 (5-13)

[Befunge] 백준 단계별로 풀어보기 1. 입출력과 사칙연산 (5-13)

이전 글에 이어서, 1단계인 입출력과 사칙연산을 풀어 보았다. 1000. A+B / 1001. A-B / 10998. A×B 문제 그대로다. 수를 입력받을 때는 "&"를 사용하자. Befunge를 사용한 가장 간단한 문제 해결 코드 중 한 종류이다. 아희의 경우(방방다망희, 방방타망희, 방방따망희)와 형태상으로 같다. &&+.@ &&-.@ &&*.@ 1008. A/B 나눗셈을 하는 문제이다. 한 가지 어려운 점이라면 Befunge는 실수 나눗셈을 지원하지 않는다. 따라서 손으로 나눗셈을 하는 것처럼 피제수를 10씩 곱하고 나누기의 몫을 차례로 써 나가는 방법을 택했다. 절대/상대오차는 충분히 작도록 위 과정을 16번 반복했다. 여기에서 사용한 "_" 기호는 if문의 역할을 한다. 즉, 스택 맨 위의 값이..

  • format_list_bulleted Programming/Befunge
  • · 2022. 4. 3.
  • textsms
[Befunge] 백준 단계별로 풀어보기 1. 입출력과 사칙연산 (1-4)

[Befunge] 백준 단계별로 풀어보기 1. 입출력과 사칙연산 (1-4)

난해한 프로그래밍 언어로 그나마 잘 알려진 언어인 한글 프로그래밍 언어 아희. 자음이 명령의 종류를, 모음이 포인터의 진행 방향과 움직이는 칸의 수를 나타낸다. Befunge는 알파벳과 기호로 코딩할 수 있는 난해한 프로그래밍 언어의 한 종류다. 아희의 시초격이라고 생각해도 무방할 만큼 코딩 스타일이 비슷하다. 관련 문법은 https://esolangs.org/wiki/Befunge#Instructions 에서 찾아볼 수 있다. 백준이 Befunge를 지원하니만큼, 문법을 알아갈 겸 단계별로 풀어보기를 진행해 보았다. 1단계는 입출력과 사칙연산에 관한 문제들로 이루어져 있다. https://www.acmicpc.net/step/1 에서 확인할 수 있다. 문제의 난이도는 Solved.ac 기준 브론즈 5 ..

  • format_list_bulleted Programming/Befunge
  • · 2022. 4. 3.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
  • 카테고리별 주제 (v1.0, 2024-03-18 갱신)
전체 카테고리
  • 분류 전체보기 (64)
    • Statistics (3)
    • Topology (21)
      • Practice (15)
      • Outline (6)
    • Programming (9)
      • Algorithm (4)
      • Befunge (5)
    • Engineering Mathematics (10)
    • Algebra (1)
    • Data Mining (5)
    • Circuits (1)
    • Algorithm (14)
최근 글
인기 글
최근 댓글
태그
  • #위상수학
  • #boj 28212
  • #data mining
  • #correctness
  • #topology
  • #exponentially decaying windows
  • #dgim
  • #백준
  • #flajolet martin
  • #BOJ
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바