Rezolvare completă PbInfo #1922 Nmod25

Cerința

Se dau numerele naturale N și X. Aflați dacă N este divizibil cu 2X și dacă N este divizibil cu 5X.

Date de intrare

Fișierul de intrare nmod25.in conține numărul X și numărul N.

Date de ieșire

Fișierul de ieșire nmod25.out va conține pe prima linie mesajul DA dacă numărul este divizibil cu 2X sau NU dacă nu este divizibil, pe a două linie mesajul DA dacă numărul este divizibil cu 5X sau NU dacă nu este divizibil.

Restricții și precizări

  • N are cel mult 100.001 cifre
  • 0 < X < 5

Exemplu

nmod25.in

3
50008

nmod25.out

DA
NU

Explicație

50008 este divizibil cu 2 la puterea 3 dar nu si cu 5 la puterea 3.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Nmod25:

#include <fstream>
using namespace std;
#define ll long long
ll x, ind, a[100002], nr;
char s[100002];
int main()
{
    ifstream cin("nmod25.in");
    ofstream cout("nmod25.out");
    cin >> x;
    ll aux = x, d2 = 1 << x, d5 = 1;
    while (aux)
        d5 *= 5, aux--;
    while (cin >> s[++ind])
        a[ind] = s[ind] - 48;
    cin.close();
    for (int i = ind - x; i < ind; i++)
        nr = nr * 10 + a[i];
    if (nr % d2)
        cout << "NU\n";
        else cout << "DA\n";
    if (nr % d5)
        cout << "NU\n";
        else cout << "DA\n";
    cout.close();
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #1922 Nmod25

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1922 Nmod25 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!