Se dă un număr natural.
Să se determine și să se afișeze suma cifrelor lui.
// Limbaj C++
#include <iostream.h>
int main()
{
int n, suma=0;
cout<<„Introdu numarul”; cin>>n;
while (n!=0){
suma=suma+n%10;
n=n/10;}
cout<<„Suma cifrelor este „<<suma;
return 0;
}
|
// Pseudocod
di: n
de: suma
citeste n
suma=0
┌cat timp n!=0 executa
│ suma=suma+n%10
│ n=n/10
└■
scrie suma
|
1)
Să se determine și să se afișeze produsul cifrelor lui.
// Limbaj C++
#include <iostream>
using namespace std;
int n, p;
int main()
{
cout << "Introduceti numarul n: ";
cin >> n;
p=1;
while (n != 0)
{
p = p * (n % 10);
n = n / 10;
}
cout << "Produsul cifrelor lui n este: " << p;
return 0;
}
2)
|
// Pseudocod
se declară variabilele n și p de tip intreg
variabila n memorează numărul introdus de la tastatură
variabila p memorează produsul cifrelor lui n
se citește numarul n
p se inițializează cu elementul neutru al înmulțirii (altfel produsul cifrelor ar fi mereu 0)
se parcurg cifrele lui n
se înmulțesc pe rand cifrele lui n
se taie pe rând cifrele lui n
se afișează p (produsul cifrelor lui n)
|
#include <iostream>
using namespace std;
int main()
{
int x,x1;
int s,p,nr;
cout<<"Dati valoarea lui x= ";cin>>x;
x1=x;
s=0;
p=1;
nr=0;
if(x==0)nr=1;
while(x1!=0)
{
s=s+x1%10;
p=p*(x1%10);
nr++;
x1=x1/10;
}
cout<<"Suma cifrelor lui "<<x<<" este "<<s<<endl;
cout<<"Produsul cifrelor lui "<<x<<" este "<<p<<endl;
cout<<"Numarul cifrelor lui "<<x<<" este "<<nr;
return 0;
}
Să se determine și să se afișeze numărul cifrelor lui pare și impare.
// Limbaj C++
void p(int n)
{
int c,p=0,i=0;
while(n!=0)
{
c=n%10;
n=n/10;
if(c%2==0)
p++:
else
i++:
}
cout<<"pare "<<p<<" "<<"impare "<<i;
}
|
// Pseudocod
|
3)
Să de determine și să se afișeze răsturnatul lui.
// Limbaj C++
#include <iostream.h>
int main()
{
int a,b=0;
cout<<"Scrie o valoare pentru variabila a ";
cin>>a;
while (a!=0){
b=b*10+a%10;
a=a/10;
}
cout<<"Numarul inversat este "<<b;
return 0;
}
|
// Pseudocod
|
4)
Să se determine și să se afișeze cifra maximă.
// Limbaj C++
Void cifmaxmin(long long x, int &Max, int &Min)
{
if(x < 10)
Min=Max=x;
else
{
cifmaxmin(x/10,Max,Min);
if( x%10 > Max )
Max = x%10;
if(x%10 <Min)
Min = x%10;
}
}
|
// Pseudocod
Intreg n,max
citeste n
max <- 0
|cat timp n != 0 executa
| daca n mod 10 > max atunci max <- n mod 10
| n <- n div 10
|~~
scrie max
|
5) 6)
Să se determine și să se afișeze cifra minimă.
// Limbaj C++
Void cifmaxmin(long long x, int &Max, int &Min)
{
if(x < 10)
Min=Max=x;
else
{
cifmaxmin(x/10,Max,Min);
if( x%10 > Max )
Max = x%10;
if(x%10 <Min)
Min = x%10;
}
}
|
// Pseudocod
|
7)
Se dă un număr natural și o cifră c.
Să se determine și să se afișeze de câte ori apare cifra c în număr.
// Limbaj C++
While(n!=0)
{
uc=n%10;
if(uc==c)
contor++;
n=n/10;
}
|
// Pseudocod
|
8)
Să se determine și să se afișeze pe ce poziții apare cifra c în număr.
// Limbaj C++
|
// Pseudocod
|
Se dau două numere naturale n si k.
Să se determine și să se afişeze cifra de rang k a numărului n
Rangul unei cifre este numărul sau de ordine, numerotând cifrele de la dreapta la stânga începând cu 0). Exemplu: cifra de rang 2 din numărul 230976 este egală cu 9.
// Limbaj C++
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n, k;
cin>>n>>k;
cout<<int(n/pow(10,k-1))%10;
}
|
// Pseudocod
|
9)
Se dă un număr natural.
Să se verifice dacă toate cifrele numărului sunt egale și sa se afișeze un mesaj corespunzător.
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă toate cifrele numărului sunt în ordine crescătoare și să se afișeze un mesaj corespunzător.
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă este palindrom și să se afișeze un mesaj corespunzător.
Un număr este palindrom dacă este egal cu răsturnatul său.
// Limbaj C++
#include<iostream.h>
int main()
{
int n,copie,invers=0;
cout<<"Introdu valoare";
cin>>n;
copie=n;
while (n!=0){
invers=invers*10+n%10;
n=n/10;
}
if (invers==copie)
cout<<"Numarul introdus este palindrom.";
else
cout<<"Numarul introdus nu este palindrom.";
return 0;
}
|
// Pseudocod
di: n
aux: copie, oglindit
citeste n
copie←n
┌cat timp d!=0
│ invers←invers*10+n%10
│ n←n/10
└■
┌daca copie==invers
│ atunci scrie „Este palindrom.”
│ altfel scrie „Nu e palindrom.”
└■
|
10) 11)
Se citesc două numere naturale a si b cu maximum 9 cifre.
Pentru a și b naturale cu max 9 cifre.
Să se verifice dacă numărul de cifre pare ale lui a este egal cu numărul de cifre pare ale lui b și să se afișeze un mesaj corespunzător.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze numărul cu suma cifrelor cea mai mare.
// Limbaj C++
|
// Pseudocod
|
De exemplu, dacă se citește numărul 23428, atunci se va afișa:
23428
3428
428
28
8
// Limbaj C++
|
// Pseudocod
|
Scrieţi un algoritm care citeşte o cifră c şi un număr natural n nenul.
Să se determine şi să afişeze toate prefixele numărului care se termină în cifra c.
Exemplu. Pentru c=1 și n=18164716 se vor afişa cele trei prefixe
1816471
181
1
// Limbaj C++
|
// Pseudocod
|
Dacă nu există astfel de prefixe, atunci algoritmul va afişa mesajul NU EXISTĂ.
Exemplu. Pentru c=5 şi n=7238 se va afişa
NU EXISTĂ
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă la scrierea unul număr, introdus de la tastatură, cifrele pare şi impare alternează.
Exemplu: date de intrare 347092 date de ieşire DA.
// Limbaj C++
|
// Pseudocod
|
Se citeşte un număr natural mai mare strict decât 9 având un numar impar de cifre.
Se cere verificarea numărului impar de cifre și dacă nu se afișează un mesaj de eroare.
// Limbaj C++
|
// Pseudocod
|
Dacă numărul are număr impar de cifre să se afișeze numărul obţinut după eliminarea cifrei din mijloc.
// Limbaj C++
|
// Pseudocod
|
Se citeşte un numar natural n.
Să se afișeze numărul obținut după dublarea fiecărei cifre egală cu zero din n.
// Limbaj C++
|
// Pseudocod
|
Se citește un număr întreg n.
Scrieți un algoritm care afișează //cifra de control// a lui n efectuând suma cifrelor sale,
// Limbaj C++
|
// Pseudocod
|
apoi suma cifrelor acestei sume etc.
// Limbaj C++
|
// Pseudocod
|
// Limbaj C++
|
// Pseudocod
|
Un număr natural cu cel puţin trei cifre se numește "număr smile".
Exemplu. Numărul 986323689 este număr smile pentru că:
are număr impar de cifre,
este palindrom,
cifra din mijloc este cea mai mică,
şirul cifrelor este strict descrescător până la cifra minima.
Scrieţi algoritmul pseudocod care citeşte un număr natural nenul n şi verifică dacă numărul dat este //număr smile//.
// Limbaj C++
|
// Pseudocod
|
Se dă un număr întreg.
Să se determine și să se afișeze divizorii pozitivi ai lui.
// Limbaj C++
|
// Pseudocod
|
Sa se determine și sa se afișeze numărul divizorilor pozitivi ai iui.
// Limbaj C++
|
// Pseudocod
|
Să se determine și sa se afișeze suma divizorilor pozitivi ai lui.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze numărul de divizorilor pari și numărul de divizori impari.
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă este număr perfect. Un număr este perfect dacă este egal cu suma divizorilor pozitivi ai lui, dar strict mai mici decât el.
// Limbaj C++
|
// Pseudocod
|
Se citesc două numere întregi a și b.
Să se afișeze numărul cu cei mai mulți divizori impari.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze toți divizorii comuni celor două numere.
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă sunt numere prietene.
Două numere sunt prietene dacă suma divizorilor primului număr, dar fară el este egală cu al doilea număr și suma divizorilor celui de al doilea număr, dar fără el este egală cu primul număr.
// Limbaj C++
|
// Pseudocod
|
Se dau două numere întregi.
Sa se determine și să se afișeze cmmdc-ul, folosind algoritmul de scăderi repetate.
// Limbaj C++
#include<iostream.h>
#include<conio.h>
int main()
{int a,b;
cout<<"a= ";cin>>a;
cout<<"b= ";cin>>b;
while(a!=b)
{if(a>b)
a=a-b;
else
b=b-a;}
cout<<"Cel mai mare divizor comun este: "<<a;
getche();
}
|
// Pseudocod
|
12)
Să se determine și sa se afişeze cmmdc-ul, folosind algoritmul de împărţiri repetate.
// Limbaj C++
#include <stdio.h>
int main()
{
int a,b,r;
scanf("%d %d",&a,&b);
r = a % b;
while(r != 0)
{
a = b;
b = r;
r = a % b;
}
printf("cmmdc= %d",b);
return 0;
}
// Limbaj C++
int cmmdc(int a, int b)
{
if((!a) || (!b)) return a+b;
if(a>b) return cmmdc(a%b,b);
return cmmdc(a,b%a);
}
|
// Pseudocod
|
13)
Sa se determine și sa se afişeze cmmmc-ul.
// Limbaj C++
#include <stdio.h>
int main()
{
int a,b,r,c,x,y;
scanf("%d %d",&a,&b);
x=a;
y=b;
while(b!=0)
{
r=a % b;
a=b;
b=r;
}
printf("cmmdc= %d\n",a);
c=x*y/a;
printf("cmmmc= %d",c);
return 0;
}
|
// Pseudocod
|
14)
Să se verifice dacă sunt prime între ele și să se afișeze un mesaj corespunzător.
Doua numere sunt prime între ele daca cmmdc-ul lor este egal cu 1.
// Limbaj C++
|
// Pseudocod
|
Se dă un număr întreg.
Să se verifice dacă este număr prim și să se afișeze un mesaj corespunzător.
// Limbaj C++
#include<iostream>
using namespace std;
int main()
{
int n,c=0;
cout<<"Introdu n"; cin>>n;
for (int i=1; i<=n; i++)
{
if (n%i==0)
c++;
}
if (c==2)
cout<<"Numarul este prim";
else
cout<<"Numarul NU este prim";
return 0;
}
// Limbaj C++
bool isPrime(int div, int n) {
if (n==2) return true;
if (n%div==0 || n==1) return false;
if (div * div > n) return true;
if (div == 2) return isPrime(3, n);
return isPrime(div+2, n);
}
|
// Pseudocod
|
15)
Se citește un număr natural p cu 4 cifre.
Să se verifice dacă suma cifrelor sutelor și unităților lui p este număr prim.
// Limbaj C++
|
// Pseudocod
|
Se dă un număr natural par, mai mare decât 4.
Să se afișeze o descompunere a lui n ca sumă a două numere prime.
// Limbaj C++
|
// Pseudocod
|
Se dă un număr natural.
Să se determine și să se afișeze numărul prim cel mai apropiat.
// Limbaj C++
|
// Pseudocod
|
Se citesc numere întregi până se întâlnește numărul 0.
Pentru un șir de numere întregi citit până la 0.
Să se determine și să se afișeze suma lor.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze cel mal mare număr din șir.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze cel mai mic număr din șir.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze suma (numărul sau produsul) numerelor care îndeplinesc o anumită //proprietate simplă// (sunt pare).
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze numărul (suma, produsul, minimul sau maximul) celor cu o anumită //proprietate algoritm de bază// (numărul celor prime, numărul celor palindrom sau numărul celor perfecte).
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze valoarea din șir cu o anumită proprietate algoritm de bază (cel mai mare număr prim, numărul cu cei mai mulți divizori, numărul cu suma cifrelor maximă).
// Limbaj C++
|
// Pseudocod
|
Să se afle cea mai mare valoare pară din șir. Daca șirul nu conține valori pare se va afișa mesajul "Lipsă valori pare".
// Limbaj C++
|
// Pseudocod
|
Sâ se determine și să se afişeze cmmdc-ul numerelor din șir.
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă numerele sunt în ordine strict crescătoare și să se afișeze un mesaj corespunzător.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze cea mai mare diferență dintre două valori alăturate din șir.
// Limbaj C++
|
// Pseudocod
|
Să se determine câte elemente din șir sunt mai mari decât vecinii săi din sir, adică decât cel precedent și decât cel următor.
// Limbaj C++
|
// Pseudocod
|
Se citește un număr întreg x și apoi se citesc numere întregi până se întâlnește numărul 0.
Să se determine și să se afişeze de câte ori apare x în șir și pe ce poziții se află.
// Limbaj C++
|
// Pseudocod
|
Se citesc n numere întregi. / Se citește un șir de n numere întregi.
Să se determine și să se afișeze suma lor.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze cel mai mare număr din șir si poziţia pe care se află.
Dacă sunt mai multe valori egale cu maximul se va alege prima găsită.
// Limbaj C++
|
// Pseudocod
|
Să se determine și sa se afișeze cel mai mic număr din șir și poziția pe care se află.
Dacă sunt mai multe valori egale cu minimul se va alege prima găsită.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze suma (numărul, produsul, minimul sau maximul) numerelor care îndeplinesc o anumită //proprietate simplă// (sunt divizibile cu k, unde k este un număr intreg dat).
// Limbaj C++
|
// Pseudocod
|
Sa se determine și sa se afișeze numărul (suma, produsul, minimul sau maximul) celor cu o anumită //proprietate algoritm de bază// (numărul celor prime, numărul celor palindrom sau numărul celor perfecte).
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze valoarea din șir cu o anumită proprietate algoritm de bază (cel mal mic număr prim, numărul cu suma cifrelor minimă).
// Limbaj C++
|
// Pseudocod
|
Să se afișeze pe ecran valoarea din șir cu cifra unităților cea mai mică.
// Limbaj C++
|
// Pseudocod
|
Să se verifice dacă numerele sunt în ordine descrescătoare și să se afișeze un mesaj corespunzător.
// Limbaj C++
|
// Pseudocod
|
// Limbaj C++
|
// Pseudocod
|
Să se determine cea mai lungă secvență de valori pozitive din șir.
// Limbaj C++
|
// Pseudocod
|
Se citesc n numere întregi, cel puțin una este pozitivă.
Să se afișeze cea mai mică valoare pozitivă și de câte ori apare în șirul dat.
// Limbaj C++
|
// Pseudocod
|
Se citește un număr întreg x și apoi se citesc n numere întregi.
Să se determine și sa se afişeze de câte ori apare x în șir și pe ce poziţii se află.
// Limbaj C++
|
// Pseudocod
|
Se citeşte un sir de n numere întregi cu exact 2 cifre.
Să se afișeze numărul de valori din șir cu suma cifrelor pară,
// Limbaj C++
|
// Pseudocod
|
dacă nu există se va afişa mesaj //Nu există//.
// Limbaj C++
|
// Pseudocod
|
Se citeşte un număr natural n.
Să se afişeze toate numerele prime mai mici decât n.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze toate numerele mai mici decât n, care sunt prime cu n.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze toate numerele mai mici sau egale cu n, care au suma cifrelor un număr impar.
// Limbaj C++
|
// Pseudocod
|
Se citesc doua numere naturale a și b.
Să se afișeze toate numerele palindrom din intervalul [a,b] sau [b,a].
Dacă în interval nu există numere palindrom se va afișa mesajul Nu există.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze numărul de numere prime din intervalul [a,b] sau [b,a].
Dacă în interval nu există numere prime se va afișa mesajul Nu există.
// Limbaj C++
|
// Pseudocod
|
Să se determine toate numerele de patru cifre care au cel puțin un zero și suma tuturor cifrelor este egală cu 17.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze toate numerele de trei cifre având cifrele în ordine crescătoare și suma lor este egala cu 18.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze toate perechile de numere palindromice din intrevalul [a,b] sau [b,a].
O pereche de numere se numește palindromică dacă al doilea este răsturnatul primului.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze toate numerele prime de trei cifre care citite invers sunt tot numere prime.
// Limbaj C++
|
// Pseudocod
|
Se citesc două numere n și k ( 1<=n<=9, 1<=k<=100).
Să se afișeze toate numerele de n cifre egale cu de k ori produsul cifrelor.
Exemplu: n=3, k=5 o soluţie a problemei este 175=5*(1*7*5)
// Limbaj C++
|
// Pseudocod
|
Se citește un număr n.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze primele n numere prime.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze primele n pătrate perfecte.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze primele n perechi de numere prime gemene (numere prime impare consecutive).
// Limbaj C++
|
// Pseudocod
|
Să se afişeze primii n termeni ai următoarelor şiruri:
1,2,4,8,...
1,2,1 1,2,3,4,3,2,1 1,2,3,4,5,6,5,4,...
1,21,123,4321,12345,...
// Limbaj C++
|
// Pseudocod
|
Să se determine al n lea termen al şirului:
1, 1,2,3, 1,2,3,4, 1,2,3,4,5, ...
// Limbaj C++
|
// Pseudocod
|
Să se genereze primii n termeni ai şirului lui Fibonnacci, definiți astfel:
a0 = 0, a1 = 1, an = an-1 + an-2 pentru n >= 2
// Limbaj C++
|
// Pseudocod
|
Pentru n dat de la tastatură, să se calculeze:
Sl = 2 + 4 + 6 + ... + 2n
S2 = l - 2 + 3 - 4 + ... +/- n
S3 = l^2 + 4^2 + 7^2 + ...+ (3n-2)^2
S4 = 2 - 4 + 6 - ... + (-l)^n+1(2n)
S5 = l - l*2 + 1*2*3 - ... +/- l*2*3*...*n
// Limbaj C++
|
// Pseudocod
|
În povestea "Jack și vrejul de fasole", trebuia sa ajungă în Țara Uriașului, situata la x metri deasupra pământului urcând cu vrejul de fasole care avea proprietatea miraculoasă de a crește în fiecare minut cu 1/2, 1/3, 1/4, etc. din înalțimea lui anterioară (înălțimea iniţială a vrejului este l m). În câte minute ajunge Jack în Țara Uriașului?
// Limbaj C++
|
// Pseudocod
|
În flecare zi lucratoare din saptamana. Pinocchio spune o minciuna in urma careia ii creste nasul cu x cm pe zi. Sambata si duminica, cand vine Gepetto acasa, pentru a nu l supara, nu spune nici o minciuna, ba chiar II scade nasul cu y cm pe zi. In fiecare saptamana, singur acasa. Pinocchio continua şirul minciunilor. Care este lungimea nasului dupa z zile, ştiind ca iniţial nasul are p cm sl zilele incep de Luni?
// Limbaj C++
|
// Pseudocod
|
Se dau z, I, a reprezentând o data calendaristica corecta Sa se afişeze cate zile mai sunt pana la sfarsitul anului.
// Limbaj C++
|
// Pseudocod
|
// Limbaj C++
|
// Pseudocod
|
Se dau z, I, a reprezentând o data calendaristică corectă. Să se afişeze data zilei următoare.
// Limbaj C++
|
// Pseudocod
|
Se dau dau curenta si data naşterii unei persoane exprimate prin cate trei numere reprezentând anul, luna. ziua. Sa se afişeze vârsta persoanei in număr de ani împliniţi.
// Limbaj C++
|
// Pseudocod
|
Pentru un n citit sa se afişeze urmatoarea piramida:
Exemplu: pentru n=4 se va afişa
// Limbaj C++
|
// Pseudocod
|
Exemplu: pentru n=4 se va afişa
// Limbaj C++
|
// Pseudocod
|
1 12 123
1 2 3 4 … n
// Limbaj C++
|
// Pseudocod
|
n n-l n*2… 3 2 1
321
21
1
// Limbaj C++
|
// Pseudocod
|
Pentru un n citit sa se afişeze urmatoarea clepsidra:
Exemplu: pentru n=3 se va afişa
// Limbaj C++
|
// Pseudocod
|