fbpx

Problema #1922 – Nmod25 – Rezolvari PBInfo

de Mihai-Alexandru

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.

#include <bits/stdc++.h>

using namespace std;
ifstream cin("nmod25.in");
ofstream cout("nmod25.out");
int put(int a , int b)
{
    int p = 1;
    for(int i = 1 ; i <=a ; ++i)
        p*=b;
    return p;
}
int main()
{
    char c[100001];
    int  x[100001] ,p;
    cin >> p >> c;
    int n = strlen(c);
    for (int i = 0; i < n; i ++)
        x[n - i ] = c[i] - '0';
    int a = x[4]*1000+x[3]*100+x[2]*10+x[1];
    if(a%put(p , 2)==0) cout << "DA" << endl;
    else cout << "NU"<< endl;
    if(a%put(p , 5)==0) cout << "DA";
    else cout << "NU";
    return 0;
}
Comentarii

S-ar putea sa iti placa