Menu
CoddyTech

Solusi tanpa perulangan

Pelajaran 3 dari 20 dalam kursus Teka-teki Matematika di Coddy.

Tantangan sebelumnya mudah diselesaikan menggunakan perulangan. Namun, jika N besar, misalnya N=10**9, waktu eksekusinya mungkin lama, bahkan sangat lama.

Jika kamu menyelesaikan tantangan sebelumnya tanpa perulangan, itu hebat, dan kamu sangat mahir dalam pemrograman maupun matematika. Jika tidak, pelajaran ini cocok untukmu.

Cara lainnya adalah menghitung langsung jumlah setiap deret aritmetika.

Jika kamu mengetahui suku pertama, a1, suku terakhir, an, dan jumlah suku, n, jumlahnya adalah:

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

challenge icon

Tantangan

Mudah

Gunakan rumus penjumlahan untuk menghitung solusi tantangan ini.

Tulis fungsi calc yang menerima bilangan bulat N sebagai input dan mengembalikan jumlah kelipatan 3 atau 5 yang kurang dari N .

Sebagai contoh, untuk N=10, fungsi akan mengembalikan 23

Petunjuk: Pisahkan kodemu menjadi fungsi-fungsi yang lebih kecil.

Coba sendiri

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

Semua pelajaran di Teka-teki Matematika

7Kelipatan persekutuan terkecil

PengantarSebuah masalah

2Kelipatan 3 atau 5

Sebuah masalahSolusi tanpa perulangan

5Persamaan Diophantine

PengantarSebuah masalah

Latihan sendiri: Compiler C online