Se citeste un numar natural de maxim 9 cifre. Sa se afiseze cea mai mare si cea mai mica cifra din numar. #include<iostream.h> void main() { int c,min=10,max=0; long n; cin>>n; while(n) {c=n%10; if(c>max) max=c; else if(c<min) min=c; n=n/10; } cout<<min<<" "<<max; } Se citeste un numar natural n de maxim 9 cifre. Sa se determine daca el are toate cifrele ordonate strict descrescator de la cifra cea mai semnificativa spre cifra unitatilor. Ex: Pentru 54321 se va afisa DA, iar pentru 543234 se va afisa NU. #include<iostream.h> void main() {long n; int c,d,p=1; d=0; cin>>n; while(n) {c=n%10; if(c<d) p=0; n=n/10; d=c; } if(p==1) cout<<"da"; else cout<<"nu"; }
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Se citeste un numar natural de maxim 9 cifre. Sa se afiseze cea mai mare si cea mai mica cifra din numar.
#include<iostream.h>void main(){ int c,min=10,max=0; long n; cin>>n; while(n) {c=n%10; if(c>max) max=c; else if(c<min) min=c; n=n/10; } cout<<min<<" "<<max;}
Se citeste un numar natural n de maxim 9 cifre. Sa se determine daca el are toate cifrele ordonate strict descrescator de la cifra cea mai semnificativa spre cifra unitatilor. Ex: Pentru 54321 se va afisa DA, iar pentru 543234 se va afisa NU.
Se citeste un numar natural cu cel mult 4 cifre. Sa se calculeze cel mai mic multiplu par al numarului obtinut din prima si ultima cifra a numarului citit. Ex. pentru 1265 se obtine 30 (2*15)
Se citeste un numar natural n cu cel mult 9 cifre. Sa se calculeze numarul obtinut din cifrele lui pare aflate pe pozitii impare, numararea pozitiilor cifrelor incepand cu cifra cea mai semnificativa. Ex: daca n=2346561 rezulta 24
#include<iostream.h>
int main(){ long n,r=0; cin>>n; while(n) { r=r*10+n%10; n=n/10; } while(r) { if(r%2==0) n=n*10+r%10; r=r/100; } cout<<n;}
Se citeste un numar natural cu cel mult 9 cifre. Sa se determine de cate ori apare ultima cifra in numarul citit.
#include<iostream.h>
int main(){ long n,k=0,c; cin>>n; c=n%10; while(n) { if(n%10==c) k++; n=n/10; } cout<<k; return 0;}
Se citeste un numar natural n cu cel mult 9 cifre. Sa se determine cea mai mare cifra a lui n si de cate ori apare ea in n.
Se considera urmatorul sir de numere: 1, 1, 2, 2, 1, 2, 3, 3, 3, 1, 2, 3, 4, 4, 4, 4, ... .Pentru un numar natural n de maxim 4 cifre sa se scrie un program eficient ca timp de executie si utilizare a memoriei care sa determine elementul de pe pozitia n din sirul definit mai sus.
#include<iostream.h>#include<math.h>
int main(){ int n,k; cin>>n; k=sqrt(n); if(k*k==n) cout<<k; else if(n-k*k<=k+1) cout<<n-k*k; else cout<<k+1; return 0; }
Se citeste un numar natural n de maxim 4 cifre. Sa se calculeze si sa se afiseze termenii din sirul lui Fibonacci care sunt mai mici decat n.
#include<iostream.h>
int main(){ int x,y,z,n; cin>>n; x=1;y=1;cout<<"1 1 "; while(x+y<n) {
z=x+y;
cout<<z<<" "; x=y; y=z;
}}
Se citesc n numere naturale. Sa se afiseze ce mai mare numar prim si de cate ori apare el.
Se citeste un numar natural n cu cel mult 3 cifre si o baza b cuprinsa intre 2 si 9. Sa se afiseze reprezentarea lui n in baza b. Se vor folosi doar variabile de tipuri simple.
#include<iostream>
using namespace std;
int main(){int n,b; long r,p; cin>>n>>b; r=0; p=1; while(n!=0) { r=r+n%b*p; p=p*10; n=n/b; } cout<<r; system("pause"); return 0;}
Se se afiseze primele n numere prime, n numar natural citit de la tastatura.
Se citesc numere de la tastatura pana la primul numar prim citit. Sa se afiseze acest numar, iar pentru fiecare celelalte se sa afiseze mesajul "nu e prim".
#include<iostream>
using namespace std;
int main(){int n,d,ok; do { cin>>n; ok=1; if(n==0 || n==1) ok=0; else for(d=2;d<=n/2;d++) if(n%d==0) ok=0; if(!ok) cout<<"nu e prim"; } while(!ok); cout<<n; system("pause"); return 0;}
Sa se descompuna in factori primi un numar natural n si sa se afiseze factorii si puterile la care apar ei in descompunere.
#include<iostream>
using namespace std;
int main(){int n,d,p; cin>>n; d=2; while(n>1) { if(n%d==0) { p=0; while(n%d==0) { p++; n=n/d; } cout<<d<<" la " <<p<<endl;
} else d++; } system("pause"); return 0;}
Se citesc 2 numere naturale a si n cu maxim 8 cifre fiecare. Sa se calculeze ultima cifra a numarului a ridicat la puterea n.
int n,imp,par;cout<<"n="; cin>>n;par=imp=0;while(n>0){
if(n%2==0) par++;else imp++;n=n/10;
}cout<<par<<" pare si "<<imp<<" impare";return 0;
}
Sa se elimine dintr-un numar natural n toate cifrele pare.
#include<iostream>using namespace std;int main(){
int n,r;cout<<"n="; cin>>n;r=0;while(n>0){
if(n%10%2!=0) r=r*10+n%10;n=n/10;
}
while(r>0){
n=n*10+r%10;r=r/10;
}cout<<n;
}
Se citeste un numar natural n. Sa se calculeze si sa se afiseze rasturnatul (oglinditul) lui n.
#include<iostream>using namespace std;int main(){
int n,r;r=0;cout<<"n="; cin>>n;while(n>0){
r=r*10+n%10;n=n/10;
}cout<<"rasturnatul este "<<r;return 0;
}
Se citeste un numar natural n. Sa se verifice daca este palindrom (citit de la dreapta spre stanga are aceeasi valoare). Exemplu: 123321 este palindrom, iar 12322 nu este
int n,r,c;r=0;cout<<"n="; cin>>n;c=n;//copiewhile(n>0)
{ r=r*10+n%10; n=n/10;}if(r==c) cout<<"este palindrom";else cout<<"nu este palindrom";return 0;
}
Se citeste un numar natural n cu cel putin 3 cifre. Sa se calculeze si sa se afiseze numarul obtinut din n prin eliminarea primei si a ultimei cifre. Exemplu: n=34255 rezulta n=425
#include<iostream>using namespace std;int main(){
int n,r;cout<<"n="; cin>>n;n=n/10;r=0;while(n>0){
r=r*10+n%10;n=n/10;
}r=r/10;while(r>0){
n=n*10+r%10;r=r/10;
}cout<<n;return 0;
}
Se citesc 2 numere naturale a si b. Sa se determine cate cifre egale se afla pe pozitii indentice in cele doua numere. Exemplu: a=3421345 b=4531125 cifre egale pe pozitii identice sunt cifra unitatilor si cea a miilor, deci doua.
#include<iostream>using namespace std;int main(){
int a,b,c;cout<<"a="; cin>>a;cout<<"b="; cin>>b;c=0;
Sa se descompuna un numar natural n in toate modurile ca suma de doua numere prime. Daca nu exista nici o descompunere, atunci sa se afiseze mesajul Imposibil.
#include<iostream>using namespace std;int main(){
int n,x,y,p,d,ok=0;cout<<"n="; cin>>n;
for(x=2;x<=n/2;x++){
p=1;for(d=2;d<=x/2;d++)
if(x%d==0) p=0;y=n-x;for(d=2;d<=y/2;d++)
if(y%d==0) p=0;if(p) { cout<<x<<" "<<y<<endl;
ok=1;}
}if(!ok) cout<<"imposibil";return 0;
}
Un numar se numeste perfect daca este egal cu suma divizorilor sai mai mici decat el, de exemplu 6=1+2+3. Sa se afiseze toate numerele perfecte mai mici sau egale cu un numar n citit de la tastatura.
#include<iostream>using namespace std;int main(){
int n,s,d,x;cin>>n;for(x=1;x<=n;x++){
s=0;for(d=1;d<x;d++)
if(x%d==0) s=s+d;if(s==x) cout<<x<<" ";
}return 0;
}
Se citesc doua numere naturale a si b, fiecare avand cifrele distincte. Determinati cate cifre comune au cele 2 numere. Exemplu: a=23416 si b=345987 au 2 cifre comune (3 si 4)
#include<iostream>using namespace std;int main(){
int a,b,b1,c;cout<<"a="; cin>>a;cout<<"b="; cin>>b;c=0;while(a>0){
int n,nr,r,x,i;cout<<"n="; cin>>n;nr=0;x=n;while(x>0){
nr++;x=x/10;
}r=0;for(i=1;i<=nr/2;i++) {
r=r*10+n%10;n=n/10;
}n=n/10;while(r>0){
n=n*10+r%10;r=r/10;
}cout<<n;
}
Se citeste un numar natural n si o cifra c. Calculati de cate ori apare cifra c in scrierea numerelor naturale de la 1 la n.
#include<iostream>using namespace std;int main(){
int n,c,nr,x,y;cout<<"n="; cin>>n;cout<<"c="; cin>>c;nr=0;for(x=1;x<=n;x++){
y=x;while(y>0){
if(y%10==c) nr++;y=y/10;
}}cout<<nr;return 0;
Sa se afiseze toate perechile numere naturale x si y din intervalul [1,n] care sunt prime si consecutive in multimea numerelor impare. De exemplu, de la 1 la 15 avem perechile: 3 5 5 7 11 13
#include<iostream>using namespace std;int main(){ int n, x, y,px,py,d; cout<<"n="; cin>>n; for(x=3;x<=n-2;x=x+2) {
Cifra de control a unui numar n se numeste cifra obtinuta calculand repetat suma cifrelor lui n si inlocuidu-l pe n cu suma calculata. Pentru un numar natural n afisati cifra lui de control. Exemplu: pentru n=3429 calculam suma cifrelor 18, iar suma cifrelor lui 18 este 9, deci 9 este cifra de control a lui 3429.
#include<iostream>using namespace std;
int main(){
int n,s;cout<<"n=";cin>>n;while(n>9){
s=0;while(n>0){
s=s+n%10;n=n/10;
}n=s;
}cout<<n;
}
Se citeste un numar natoral n. Afisati cifrele distincte ale lui n (in orice ordine). Exemplu: Cifrele distincte ale lui 234542 sunt 2, 3, 4 si 5.
#include<iostream>using namespace std;int main(){
int n,r,c;cout<<"n="; cin>>n;while(n>0){
c=n%10;cout<<c;r=0;while(n>0){
if(n%10!=c) r=r*10+n%10;n=n/10;
}n=r;
}return 0;
}
sau
#include<iostream>using namespace std;
int main(){
int n,c,g,m;cin>>n;for(c=0;c<=9;c++){
m=n;g=0;while(m>0){
if(m%10==c) g=1;m=m/10;
}if(g) cout<<c<<" ";
}return 0;
}
Se citesc 2 numere naturale a si b. Afisati toate perechile de numere x si y din intervalul [a,b] care au proprietatea ca au acelasi numar de divizori.
Cifra de control a unui numar n se numeste cifra obtinuta calculand repetat suma cifrelor lui n si inlocuidu-l pe n cu suma calculata. Exemplu: pentru n=3429 calculam suma cifrelor 18, iar suma cifrelor lui 18 este 9, deci 9 este cifra de control a lui 3429. Dandu-se un numar natural n si o cifra x, afisati primele n numere naturale care au cifra de control egala cu x. Exemplu: pentru n=5 si x=7 se vor afisa numerele 7, 16, 25 , 34 si 43.
#include<iostream>using namespace std;
int main(){ int n,x,a; cout<<"n="; cin>>n; cout<<"x="; cin>>x; for(a=x;a<=x+(n-1)*9;a=a+9)
cout<<a<<" "; return 0;
}
Se citeste un numar natural n. Introduceti semnul * in numar astfel incat produsul obtinut sa fie maxim. Exemplu: n=4322, produsul maxim se obtine astfel: 4*322=1288. (celelalte variante: 43*22=946 sau 432*2=864 dau produs mai mic)
#include<iostream>using namespace std;int main(){
int n,p,pp,pmax=0;cout<<"n="; cin>>n;p=10;while(p<=n){
if(n/p*(n%p)>pmax){ pmax=n/p*(n%p); pp=p;}p=p*10;
}cout<<n/pp<<"*"<<n%pp<<"="<<pmax;return 0;
}
Se citeste un numar natural n si apoi n numere naturale. Afisati numarul total de cifre care compun numerele prime dintre cele n citite.
#include<iostream>using namespace std;int main(){
int n,i,x,p,d,nc,nt=0;cout<<"n="; cin>>n;for(i=1;i<=n;i++){
Se citeste un numar natural n. Afisati primele n perechi de numere prime care sunt consecutive in multimea numerelor impare. Exemplu: pentru n=3 se afiseaza 3 5 5 7 11 13
#include<iostream>using namespace std;int main(){
int n,k,p,d,x,y;cin>>n;x=3;k=0;while(k<n){
p=1;for(d=2;d<=x/2;d++)
if(x%d==0) p=0;if(p==1){
y=x+2;for(d=2;d<=y/2;d++)
if(y%d==0) p=0;}if(p==1){
cout<<x<<" "<<y<<endl;k++;
}x=x+2;
}return 0;
}
Se citeste un numar natural n. Afisati cele 2 numere obtinute prin impartirea "la mijloc" a numarului n. Exemple: n=12345 se afiseaza 12 si 345 n= 12345678 se afiseaza 1234 5678
#include<iostream>using namespace std;int main(){
int n,x,p,nc,i;cin>>n;x=n;nc=0;while(x){ nc++; x=x/10;}if(nc%2==0) nc=nc/2;else nc=nc/2+1;p=1;for(i=1;i<=nc;i++) p=p*10;cout<<n/p<<" "<<n%p;return 0;
}
Sa se afiseze cifra care apare de cele mai multe ori intr-un numar natural n si de cate ori apare ea in n. Exemplu: n=133121 se afiseaza 1 3
#include<iostream>using namespace std;int main(){
int n,x,c,k,m=0,cmax;cin>>n;for(c=0;c<=9;c++){
x=n;k=0;while(x>0){
if(x%10==c) k++;x=x/10;
}if(k>m) {
m=k;cmax=c;
}}cout<<cmax<<" "<<m;return 0;
}
Se citeste un numar natural n cu numar par de cifre. Calculati si afisati numarul obtinut din n inversand cifra unitatilor cu a zecilor, cea a sutelor cu cea a miilor, etc. Exemplu: n=123456 rezulta 214365.
#include<iostream>using namespace std;int main(){
int n,r;cin>>n;r=0;while(n>0){
r=r*100+n%100;n=n/100;
}while(r>0){
n=n*10+r%10;r=r/10;
}cout<<n;return 0;
}
Se citeste un numar natural n si apoi n numere naturale cu maxim 4 cifre fiecare. Calculati si afisati numarul obtinut prin lipirea la numarul maxim a numarului minim dintre cele n numere citite. Exemplu: n=4 si numerele 56 234 2321 345, numarul rezultat va fi 232156.
#include<iostream>using namespace std;
int main(){
int n,i,x,maxx=-10000, minn=10000,r=0;cin>>n;for(i=1;i<=n;i++){
cin>>x;if(x>maxx) maxx=x;if(x<minn) minn=x;
}while(minn>0){
r=r*10+minn%10;minn=minn/10;
}while(r>0){
maxx=maxx*10+r%10;r=r/10;
}cout<<maxx;
}
Calculati si afisati media aritmetica a palindroamelor din intervalul [a,b], a si b citite de la tastatura.
#include<iostream>using namespace std;int main(){
int a,b,x,r,y,s=0,n=0;cin>>a>>b;for(x=a;x<=b;x++){
r=0;y=x;while(y>0){
r=r*10+y%10;
y=y/10;}if(r==x){
s=s+x;n++;
}}if(n==0) cout<<"nu exista palindroame";
else cout<<(float)s/n;return 0;
}
Se citeste un numar natural n. Afisati cel mai mic palindrom mai mare decat n. Exemplu: daca n=1232 se va afisa 1331.
Se citeste un numar natural k, un numar natural n si apoi n numere naturale. Afisati cel mai mare dintre cele n numere citite care are exact k divizori.
#include<iostream>using namespace std;
int main(){
int k,n,i,x,d,nd,maxx=0;cout<<"k="; cin>>k;cout<<"n="; cin>>n;
for(i=1;i<=n;i++){
cin>>x;
nd=0;for(d=1;d<=x;d++)
if(x%d==0) nd++;
if(nd==k)if(x>maxx) maxx=x;
}cout<<maxx;return 0;
}
Afisati toate perechile de numere de la 1 la n care au proprietatea ca au aceeasi suma a cifrelor
#include<iostream>using namespace std;int main(){
int n,i,j,x,y,si,sj;cin>>n;for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++){
x=i;si=0;while(x>0){
si=si+x%10;x=x/10;
}y=j;sj=0;while(y>0){
sj=sj+y%10;y=y/10;
}if(si==sj) cout<<i<<" "<<j<<endl;
}return 0;
}
Se citesc 2 numere naturale a si b, a mai mic decat b. Afisati suma numerelor prime din intervalul [a,b].
#include<iostream>using namespace std;int main(){
int a,b,n,p,d,s=0;cout<<"a="; cin>>a;cout<<"b="; cin>>b;
for(n=a;n<=b;n++){
p=1;for(d=2;d<=n/2;d++)
if(n%d==0) p=0;if(p==1) s=s+n;
}cout<<s;return 0;
}
Afisati toate numerele mai mici ca un numar n citit de la tastatura care au proprietatea ca sunt încadrate de numere prime (x este incadrat de numere prime daca x+1 si x-1 sunt prime, de exemplu numarul 6).
Se citesc 2 numere naturale a si b, a mai mic decat b. Afisati cel mai mic numar palindrom din intervalul [a,b].
#include<iostream>using namespace std;int main(){
int a,b,x,y,r;cout<<"a="; cin>>a;cout<<"b="; cin>>b;for(x=a;x<=b;x++){
r=0;y=x;while(y>0){
r=r*10+y%10;y=y/10;
}if(r==x)
{ cout<<x; x=b+1;
} }return 0;
}
Se citeste un numar natural n si apoi n numere naturale. Afisati cate dintre ele au suma cifrelor egala cu numarul de lor de ordine de la citire. Exemplu: n=6 si numerele 122 101 34 555 23 123 Se va afisa 3 deoarece numerele care respecta regula sunt 101 , 23 si 123.
#include<iostream>using namespace std;int main(){
int n,i,x,s,k=0;cout<<"n="; cin>>n;for(i=1;i<=n;i++){
cout<<"x="; cin>>x;s=0;while(x){
s=s+x%10;x=x/10;
}if(s==i) k++;
}cout<<k;return 0;
}
Se citeste un numar natural n si apoi n numere naturale. Afisati numerele care au suma cifrelor egala cu suma cifrelor primului numar citit. Ex: se citesc numerele 7 23 78 14 30 32 8 50 se vor afisa 14 32 50
Se citeste un numar natural n si apoi n numere naturale. Afisati cate dintre numerele citite au rasturnatul egal cu primul numar citit. Ex: se citesc numerele 7 231 78 132 30 132 8 132 se va afisa 3
int main(){ int i,n,x,y,k=0,r; cin>>n; cin>>x; for(i=1;i<n;i++) { cin>>y; r=0; while(y>0) {r=r*10+y%10; y=y/10;} if(r==x) k++; } cout<<k; return 0;}