Menu
Coddy logo textTech

A solution with no loops

Coddy'nin Matematiksel Bilmeceler kursunda ders 3 / 20.

Önceki görev döngüler kullanılarak kolayca çözülebilir. Ancak, N büyükse - örneğin N=10**9 - çalışma süresi uzun, çok uzun olabilir.

Önceki görevi döngü kullanmadan çözdüyseniz - bu harika ve hem programlamada hem de matematikte çok iyisiniz demektir. Eğer çözmediyseniz, bu ders sizin için.

Diğer bir yol, her bir aritmetik dizinin toplamını doğrudan hesaplamaktır.

İlk terimi a1, son terimi an ve terim sayısını n biliyorsanız, toplam şudur:

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

challenge icon

Görev

Kolay

Mücadeleyi çözmek için toplam formülünü kullanın.

Girdi olarak bir N tam sayısı alan ve N değerinin altındaki 3 veya 5'in katlarının toplamını döndüren bir calc fonksiyonu yazın.

Örneğin N=10 için fonksiyon 23 değerini döndürecektir.

İpucu - Kodunuzu daha küçük fonksiyonlara ayırın.

Kendin dene

#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;
}

Matematiksel Bilmeceler bölümündeki tüm dersler

2Multiples of 3 or 5

A problemA solution with no loops

5Diophantine Equation

IntroductionA problem