Informatică, întrebare adresată de VladutCostin, 9 ani în urmă

Pentru numerotarea paginilor unei serii enciclopedice, formate din unul sau mai multe volume, se
presupune că se folosesc n cifre. Fiecare volum are 300 de pagini, cu excepŃia eventuală a celui din urmă
care ar putea avea mai puŃine. Numerotarea paginilor începe cu 1 în fiecare volum. Se citeşte de la
tastatură n, numărul de cifre (1 text pag.txt, pe linii distincte, numărul de volume din serie şi numărul de pagini ale ultimului volum.
Dacă nu este posibil se va scrie mesajul IMPOSIBIL.
Exemplu
tastatură: 999 pag.txt: 2 105
tastatură: 900 pag.txt: IMPOSIBIL

Răspunsuri la întrebare

Răspuns de Utilizator anonim
4
#include<iostream>
using namespace std;

int n, c;

int main()
{
    cin >> n;
    c = n % 792;
    if (c == 0) {cout << n / 792 << ' ' << c << '\n'; return 0; }
    if(c <= 9) { cout << n / 792 + 1 << ' ' << c << '\n'; return 0; }
    else
    {
        c -= 9;
        if(c <= 180)
            if(c % 2) cout << "IMPOSIBIL\n";
            else { cout << n / 792 + 1 << ' ' << 9 + c / 2  << '\n'; return 0; }
        else
        {
            c -= 180;
            if(c % 3) cout << "IMPOSIBIL\n";
            else { cout << n / 792 + 1 << ' ' << 9 + 90 + c / 3  << '\n'; return 0; }
        }
    }
}

Alte întrebări interesante