Definim un număr natural ca fiind bun dacă toate cifrele impare se află înaintea celor pare. De exemplu, numerele 13424
, 400
, 1357
sunt bune, pe când 34010
nu este.
Cerința
Dându-se un număr natural nenul n
, să se determine câte numere bune de n
cifre există. Pentru că acest număr poate fi foarte mare, se va determina răspunsul modulo 123457
.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran numărul de numere bune de n
cifre, modulo 123457
.
Restricții și precizări
- Pentru
70%
din punctaj,1 ≤ n ≤ 100.000
- Pentru
30%
din punctaj,100.001 ≤ n ≤ 1.000.000.000
Exemplu
Intrare
3
Ieșire
475
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 dinamica04:
/*
Complexitate O(n) - 70 puncte
*/
#include <bits/stdc++.h>
#define MOD 123457
using namespace std;
int n, par[100003], impar[100003];
int main()
{
int i;
cin >> n;
if (n == 1)
{
cout << "10\n";
return 0;
}
par[1] = 4; impar[1] = 5;
for (i = 2; i <= n; i++)
{
par[i] = (5 * par[i-1] + 5 * impar[i - 1]) % MOD;
impar[i] = 5 * impar[i - 1] % MOD;
}
cout << (par[n] + impar[n]) % MOD << "\n";
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 .
Rezolvarea problemei #3214 dinamica04
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3214 dinamica04 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!