fbpx

Problema #2914 – nthodd – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă numărul natural n. Afișați al n-lea număr impar.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran al n-lea număr impar.

Restricții și precizări

  • n se poate reprezenta pe tipul de date 64 de biți fără semn.

Exemplu

Intrare

5

Ieșire

9
#include <bits/stdc++.h>

using namespace std;
int main()
{
    char s[101];
    int a[101] , cnt = 0, p[101] , ti[101];
    cin >> s;
        int i = 0 , t = 0;
        while(s[i] != '\0')
        {
            a[cnt++] = s[i] - '0';
            i++;
        }
        for(int i = cnt - 1 ; i >= 0 ; i--)
        {
            p[i] = (2 * a[i] + t) % 10;
            t = (2 * a[i] + t) / 10;
        }
        t = 0;
        for(int i = cnt - 1 ; i >= 0 ; i--)
        {
           ti[i] = p[i];
        }
        for(int i = cnt - 1 ; i >= 0 ; i--)
        {
            if(p[i] != 0)
            {
                ti[i] = p[i] - 1;
                break;
            }
            else ti[i] = 9, t = 1;
        }
        for(int i = 0 ; i < cnt ; i ++)
            cout << ti[i];

}
Comentarii

S-ar putea sa iti placa