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

Ionuț este pasionat de numere. Într-o zi , Ionuț a găsit o foaie și, pornind de la cifra 9, a construit un șir S de numere naturale nenule ai cărui primi termeni sunt:
9 19 39 49 69 79 99 109 129 139 159...............

În altă zi, pornind de la cifra 7, a construit șirul
7 17 37 47 67 77 97 107 127 137 157...............

În altă zi, Ionuț a construit același șir pornind de la cifra P.

Cerința
Scrieți un algoritm care determină, pornind de la cifra P, cel de-al K-lea termen al sirului S.

Date de intrare
Se citesc de la tastatură P și K cu semnificația din enunț.

Date de ieșire
Programul va afișa pe ecran un număr natural reprezentând cel de-al K-lea termen al șirului S.

Restricții și precizări
1 ≤ P ≤ 9
2 ≤ K ≤ 109



Exemplu
Intrare

9 10
Ieșire

139
Dar vreau problema fara structura repetitiva , doar in cea alternativa.

Răspunsuri la întrebare

Răspuns de ionutg38
1
#include <iostream> using namespace std; long long int p,k; int main() { cin>>p>>k; long long int j=k/2; if(k%2) cout<<p+j*30; else cout<<p+j*10+(j-1)*20; return 0; }

condratradu69: Merge , dar vreau sa fie mai lunga , doar cu k si p?
ionutg38: Ce sa fie mai lunga???
Răspuns de express
1
Iti trimit sursa mea in C++, diferita de cea de mai sus . Succes!
#include <bits/stdc++.h>
using namespace std;
long long p, k, n, x;
int main()
{
    cin >> p >> k;
    k --;
    x = k / 10;
    k = k % 10;
    n = x * 150;
    if (k % 2 == 0) n = n + ((k / 2) * 30);
               else n = n + ((k / 2)* 30) + 10;
    cout << n + p;
    return 0;
}

Alte întrebări interesante