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)
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
|
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)
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)
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
|
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
|
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
|
Să se afișeze numărul obținut după dublarea fiecărei cifre egală cu zero din n.
// Limbaj C++
|
// Pseudocod
|
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
|
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
|
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
|
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
|
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
|
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)
Să se verifice dacă suma cifrelor sutelor și unităților lui p este număr prim.
// Limbaj C++
|
// Pseudocod
|
Să se afișeze o descompunere a lui n ca sumă a două numere prime.
// Limbaj C++
|
// Pseudocod
|
Să se determine și să se afișeze numărul prim cel mai apropiat.
// Limbaj C++
|
// Pseudocod
|
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
|
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
|
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
|
Să se afișeze cea mai mică valoare pozitivă și de câte ori apare în șirul dat.
// Limbaj C++
|
// Pseudocod
|
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
|
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
|
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
|
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
|
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
|
// 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
|
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
|
1, 1,2,3, 1,2,3,4, 1,2,3,4,5, ...
// Limbaj C++
|
// Pseudocod
|
a0 = 0, a1 = 1, an = an-1 + an-2 pentru n >= 2
// Limbaj C++
|
// Pseudocod
|
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
|
Se da data curenta formata din trei numere întregi an, luna, zi. Cunoscând a cata zi din saptamana este prima zi din anul respectiv, sa se afişeze a cata zi din saptamana este ziua datei respective.
// 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
|
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
|
Exemplu: pentru n=3 se va afişa
// Limbaj C++
|
// Pseudocod
|
https://gianibuzatu.wordpress.com/2014/08/27/structura-repetitiva/