Menu
Coddy logo textTech

A solution with no loops

Coddy의 수학 수수께끼 코스 레슨 — 20개 중 3번째.

이전 챌린지는 루프를 사용하여 쉽게 해결할 수 있습니다. 하지만 N이 크다면 - 예를 들어 N=10**9인 경우 - 실행 시간이 매우 길어질 수 있습니다.

만약 이전 챌린지를 루프 없이 해결했다면, 정말 훌륭합니다. 프로그래밍과 수학 모두에 매우 능숙하시군요. 그렇지 않다면, 이 레슨이 도움이 될 것입니다.

또 다른 방법은 각 등차수열의 합을 직접 계산하는 것입니다.

첫 번째 항 a1, 마지막 항 an, 그리고 항의 개수 n을 알고 있다면, 합계는 다음과 같습니다:

S = n * (a1+an)//2

challenge icon

챌린지

쉬움

합계 공식을 사용하여 챌린지의 해답을 계산하세요.

정수 N을 입력으로 받아 N 미만의 3 또는 5의 배수의 합을 반환하는 함수 calc를 작성하세요.

예를 들어, N=10인 경우 함수는 23을 반환합니다.

팁 - 코드를 더 작은 함수들로 분리하세요.

직접 해보기

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"

int main() {
    int n;
    if (scanf("%d", &n) != 1) n = 0;
    int r = calc(n);
    printf("%d\n", r);
    return 0;
}

수학 수수께끼의 모든 레슨

2Multiples of 3 or 5

A problemA solution with no loops

5Diophantine Equation

IntroductionA problem