Informatică, întrebare adresată de Entity303, 8 ani în urmă

Se citeste de la tastatura un numar natural n cu cel mult 9 cifre. Scrieti un program care verifica daca exista un numar naatural k cu proprietatea ca n=1*2*3*...*k. Daca exista un astfel de numar, programul va afisa "Da" si valoarea lui k, altfel va afisa "Nu".
In pseudocod si cpp. Dau coroana

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
1
intreg n,k<-1,i<-1
citeste n
cat timp k<n executa
k<-k*i
i<-i+1
sfarsit cat timp
daca k=n
scrie DA
alfel
scrie nu

#include <iostream>

using namespace std;

int main()
{
    int n,k=1,i=1;
    cin>>n;
    while(k<n)
    {
        k=k*i;
        i=i+1;
    }
    if(k==n)
        cout<<"DA";
    else
        cout<<"NU";
    return 0;
}



IntelligentGuy07: int n,a = 1;
Răspuns de Razzvy
0
Pseudocod:

inceput

intreg n, k, p

citeste n
p <- 1
k <- 1
cat timp p < n executa
   p <- p * k
   k <- k + 1
sfarsit cat timp

daca p = n atunci
   scrie "Da"
altfel
   scrie "Nu"
sfarsit daca

sfarsit

C++:

#include <iostream>
using namespace std;

int main()
{
   int n, p = 1, k = 1;

   while (p < n)
   {
      p *= k;
      k++;
   }
   if (p == n) cout << "Da";
   else cout << "Nu";
}
Alte întrebări interesante