1.
Palindromul unui numar | |
---|---|
C++ | Pseudocod |
#include<iostream.h> int main() { int copie,invers,c,n; invers=0; cout<<"Introduceti numarul pentru a-l testa daca este palindrom: "; cin>>n; copie=n; while(n!=0) { c=n%10; invers=invers*10+c; n=n/10; } if(copie==invers) cout<<"Numarul tastat este palindrom \n"; else cout<<"Numarul tastat nu este palindrom \n"; cout<<"Inversul numarului introdus este "<<invers; return 0; } | main inceput intreg copie,invers,c,n; invers=0; scrie "Introduceti numarul pentru a-l testa daca este palindrom: " citeste n copie=n cat timp n!=0 { c=n mod 10 invers=invers*10+c n=n div 10 } daca copie=invers atunci scrie "Numarul este palindrom" scrie "Inversul numarului introdus este " invers altfel scrie "Numarul tastat nu este palindrom" scrie "Inversul numarului introdus este " invers sfarsit |
2.
C++ | Pseudocod |
#include<iostream.h> int fact (int n) { if (n==0) return 1; else return n*fact(n-1); } int main() { int n; cout<<"Introduceti numarul de la tastatura"; cin>>n; cout<<"!"<<n<<"="<<fact(n); return 0; } | fact (n) inceput intreg n daca n=1 atunci returneaza 1 altfel returneaza n*fact de n-1 sfarsit main inceput intreg n scrie "Introduceti numarul de la tastatura" citeste n scrie "factorial de n este egal cu" fact (n) sfarsit |
3.
C++ | Pseudocod |
//Sirul lui fibonachi (varianta recursiva) #include<iostream.h> long fib (long n) { if (n <= 1) return n; else return fib(n-1)+fib(n-2); } int main () { int n; cout<<"Introduceti numarul "; cin>>n; cout<<"Rezultatul este "<<fib(n); return 0; } | fib (n) inceput intreg n daca n<=1 atunci returneaza n altfel returneaza fib(n-1)+fib(n-2) sfarsit daca sfarsit main inceput intreg n scrie "Introduceti numarul " citeste n scrie "Rezultatul este " fib(n) sfarsit |
4.
C++ | Pseudocod |
#include<iostream.h> int main () { int a,b,c,d; cout<<"Introduceti primul numar: "; cin>>a; cout<<"Introduceti al doilea numar: "; cin>>b; c=b; d=a; while (a!=b) if (a>b) a=a-b; else b=b-a; cout<<"Cel mai mare divizor comun al numerelor "<<d<<" si "<<c<<" este "<<a; return 0; } | main inceput intreg a,b,c,d scrie "Introduceti primul numar: " citeste a scrie "Introduceti al doilea numar: " citeste b c=b d=a cat timp a!=b { daca a>b atunci a=a-b altfel b=b-a scrie "Cel mai mare divizor comun al numerelor d si c este a" } sfarsit |
5.
C++ | Pseudocod |
//Functia Ackerman (varianta recursiva) #include<iostream.h> long long ack(long m, long n) { if (!m) return n+1; else if (!n) return ack(m-1,1); else return ack(m-1, ack(m,n-1)); } int main() { long long m,n; cout<<"Introduceti prima cifra: "; cin>>m; cout<<"Introduceti al doilea numar: "; cin>>n; cout<<ack(m,n); return 0; } | ack (m,n) inceput intreg m,n daca m=0 atunci returneaza n+1 altfel daca n=0 atunci returneaza ack(m-1, 1) altfel returneaza ack(m-1, ack(m, n-1)) sfarsit main inceput intreg m,n scrie "Introduceti prima cifra: " citeste>>m; scrie "Introduceti al doilea numar: " citeste n afiseaza ack(m,n) sfarsit |
6.
C++ | Pseudocod |
//Functia Manna Pnueli (varianta recursiva) #include<iostream.h> int submannapnueli(int x) { if(x>=12) return x-1; else return submannapnueli(submannapnueli(x+2)); } int main() { int x; cout<<"Manna Pnueli.\n\n"; cout<<"Introduceti numarul: "; cin>>x; cout<<"Rezultatul este " <<submannapnueli(x); } | submannapnueli (x) inceput intreg x daca x>=12 atunci returneaza x-1 altfel returneaza submannapnueli de submannapnuelli de x+2 sfarsit main inceput intreg n scrie "Manna Pnueli" scrie "Introduceti numarul" citeste n scrie "Rezultatul este" submannapnueli (x) sfarsit |
7.
C++ | Pseudocod |
#include<iostream.h> int main() { long int n, prim, d; cout<<"Introduceti numarul "; cin>>n; prim=1; d=2; while (d<=n/2) { if (n%d==0) prim=0; d=d+1; } if (prim==1) cout<<"Numarul este prim"; else cout<<"Numarul nu este prim"; return 0; } | main inceput intreg n,prim,d scrie "Introduceti numarul " citeste n prim=1 d=2 cat timp d<=n div 2 { daca n mod d=0 atunci prim=0 d=d+1 } daca prim=1 atunci scrie "Numarul este prim" altfel scrie "Numarul nu este prim" sfarsit |
8.
C++ | Pseudocod |
//Combinari (varianta recursiva) #include<iostream.h> int combinari(int c,int k) { if (k==0) return 1; else if (k>c) return 0; else return (combinari(c-1,k)+combinari(c-1,k-1)); } int main() { int k,c; cout<<"Combinari.\n\n" <<"Combinari de "; cin>>c; cout<<"Luate cate "; cin>>k; cout<<"Rezultatul combinarii este " <<combinari(c,k); } | combinari (c,k) inceput intreg c,k daca k=0 atunci returneaza 1 altfel daca k>c atunci returneaza 0 altfel returneaza combinari de c-1,k+combinari de c-1 si k-1 sfarsit main inceput intreg k,c scrie "Combinari de" citeste c scrie "luate cate" citeste k scrie "Rezultatul combinarii este" combinari (c,k) sfarsit |
la combinari, cum poti face sa iti afiseze numarul de combinari posibile?
RăspundețiȘtergere