Bağban#10

Bağban (Həll təhlili)

Bu məsələdə deyilirdi ki, əkim günü bağban hər ağac üçün bir vedrə su istifadə etməli idi, son gün isə \frac 1 N, ondan bir əvvəlki gün \frac 1 {N-1} və s. Bağban ağacları bu düzgünlükdə suvarmalıdır: 1, \frac 1 2, \frac 1 3, ..., \frac 1 N. Yəni bağban ağacları gün suvarmalıdır.

Bağbanın ağacları nə zaman suvarmağa başladığını bilmirik, lakin bilirik ki, o, ağacları son gün suvarıb və cəm olaraq \frac 1 2 vedrədən çox su istifadə etməyib. Buna görə, bağbanın ağacları suvardığı günləri son gündən sayaraq müəyyən edə bilərik.

Bağbanın ağacları suvarmağı planlaşdırdığı günlərin ümumi sayını () və bağbanın əslində suvardığı günlərin sayını bilsək, -ni, yəni bağbanın qaçırdığı günlərin sayını tapa bilərik.

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, m = 0;
    cin>>n; // Ağacların sayını oxuyun
    double v = 0;

    for (int i = n; i >= 1; --i) {
        v += 1.0 / i;
        if (v > 0.5) { // Suyun ümumi miqdarının yarım vedrədən çox olmamasına əmin olun
            break
        }

        m++; // Bağbanın ağacları suvardığı günləri sayaq
    }

    cout<<n - m<<"\n";
}