BOJ - [Basic Algebra - 2581 μμ] - Silver V π₯
https://www.acmicpc.net/problem/2581 μ΄ λ¬Έμ λ μ΄λμ λ μνμ μ§μμ κ°μ§κ³ μλ€λ©΄ μ κ·ΌνκΈ° λ μμν΄μ§λ€. μμλ₯Ό ꡬλ³νλ λ°©λ²μλ μ¬λ¬κ°μ§κ° μλλ° νΉν νΉμ λ²μλ΄μ μμλ₯Ό ꡬλ³νλλ°μλ [μλΌν μ€ν λ€μ€μ 체] λ₯Ό μ΄μ©νλ©΄ λ μμνκ² ν μ μ...
λ¬Έμ
https://www.acmicpc.net/problem/2581
μ€λͺ
μ΄ λ¬Έμ λ μ΄λμ λ μνμ μ§μμ κ°μ§κ³ μλ€λ©΄ μ κ·ΌνκΈ° λ μμν΄μ§λ€. μμλ₯Ό ꡬλ³νλ λ°©λ²μλ μ¬λ¬κ°μ§κ° μλλ° νΉν νΉμ λ²μλ΄μ μμλ₯Ό ꡬλ³νλλ°μλ [μλΌν μ€ν λ€μ€μ 체] λ₯Ό μ΄μ©νλ©΄ λ μμνκ² ν μ μλ€.λ¨Όμ μ¬μ©μκ° μ λ ₯λ μ μλ κ°μ μ무리 컀λ΄μΌ 10000 μ λμ§ μκΈ° λλ¬Έμ λ°°μ΄ ν¬κΈ° λ₯Ό 10001 λ‘ μ€μ νλ€. κ·Έλ¦¬κ³ forλ¬Έμ μ΄μ©νμ¬ λͺ¨λ 0 μΌλ‘ μ΄κΈ°ν μν¨λ€. κ·Έλ¦¬κ³ μ€μ²© forλ¬Έμ μ΄μ©νμ¬ μμκ° μλ κ²λ€μ ν΄λΉνλ λ°°μ΄μ 0 μμ 1 λ‘ λ°κΎΈλλ‘ νμ¬ μ΅μ’ μ μΌλ‘ μμμ ν΄λΉνλ λ°°μ΄λ§μ΄ 0 μΌλ‘ λ¨μμλλ‘ νλ€. κ·Έλ¦¬κ³ λ§μ§λ§μΌλ‘ ν΄λΉ λ°°μ΄μ΄ 0 μΈμ§ 1 μΈμ§ forλ¬Έκ³Ό ifλ¬Έμ μ΄μ©νμ¬ νλ νμ¬ ν΄λΉ λ²μλ΄μ μ΄ν©κ³Ό μμμ μ΅μκ°μ ꡬνλλ‘ νμλ€. loop_end λΌλ λ³μμλ μ¬μ©μκ° μ λ ₯ν λ²μμ λλΆλΆ(end λ³μ)μ μ κ³±κ·Ό κ°μ λ£μμΌλ‘μ¨ μ€μ²© forλ¬Έμ ν΅ν΄ μμλ₯Ό κ±Έλ¬λΌλ νμν μνμ μ μ€μ νμλ€. νλ‘κ·Έλλ°μ νλλ°μ μνμ΄ μ λ νμ μλ κ²μ΄ μλμ 보μ¬μ£Όλ λ¬Έμ μλ€. (μ€λ νΌ λ¬ν½μ΄ λ¬Έμ λ λ μλ μλ₯ μ€λΉνλ©΄μ νλ₯ κ³Ό ν΅κ³μ μμ΄ λ¨μμμ λ°°μ΄ 'κ΅°'μ μ΄μ©νμ¬ νμμΌλ νλ‘κ·Έλλ°μ μνμ κΌ νμν΄λ³΄μΈλ€.)
[μλΌν μ€ν λ€μ€μ 체] : https://namu.wiki/w/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98%20%EC%B2%B4
μ½λ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
int start=0, end=0,first=0,tot=0;
scanf("%d", &start);
scanf("%d", &end);
int arr[10001];
for (int l = start-1; l <= end; l++)
arr[l] = 0;
arr[0] = 1;
int loop_end = sqrt(end);
for (int i = 2; i <= loop_end; i++)
for (int j = 2; i * j <= end; j++)
arr[(i * j) - 1] = 1;
for (int a = start; a < end+1; a++)
if (arr[a - 1] == 0)
{
tot += a;
if (first == 0)
first = a;
}
if (tot == 0 && first == 0)
printf("-1");
else
printf("%d\n%d", tot, first);
return 0;
}