Algoritmi fundamentali in C++
// Suma cifrelor lui n
#include<iostream.h>
int n,s,c;
void main()
{
cout<<„n=”;
cin>>n;
while(n!=0)
{
c=n%10; // extrag ultima cifra
s=s+c;
n=n/10; // tai ultima cifra
}
cout<<„Suma cifrelor=”<<s;
}
––––––––––––––––––––––––––
// Numarul de cifre ale lui n
#include<iostream.h>
int n, nr;
void main()
{
cout<<„n=”;
cin>>n;
while(n!=0)
{
nr=nr+1;
n=n/10; // tai cifrele
}
cout<<„Nr. de cifre=”<<nr;
}
––––––––––––––––––––––––––
// Inversul lui n
#include<iostream.h>
int n, inv,c;
void main()
{
cout<<„n=”;
cin>>n;
inv=0;
while(n!=0)
{
c=n%10;
inv=inv*10+c;
n=n/10;
}
cout<<„Inversul=”<<inv;
}
–––––––––––––––––––––––––
// Palindrom
#include<iostream.h>
int n,inv, c, copie;
void main()
{
cout<<„n=”;
cin>>n;
copie=n;
while(n!=0)
{
c=n%10;
inv=inv*10+c;
n=n/10;
}
if(copie==inv)
cout<<„Palindrom”;
else
cout<<„Nu”;
}
––––––––––––––––––––––––––-
// Numarul PRIM
#include<iostream.h>
int n, ok, d;
void main()
{
cin>>n;
d=2; ok=1;
while(d<=n/2&&ok==1)
if(n%d==0)
ok=0;
else
d++;
if(ok==1)
cout<<„Prim”;
else
cout<<„Nu”;
}
––––––––––––––––––––––––––-
// Descompunerea in factori primi
#include<iostream.h>
void main()
{
int a,d,p;
cout<<„=a”;
cin>>a;
d=2;
while(a>1)
{
p=0;
while(a%d==0)
{
p=p+1;
a=a/d;
}
if(p) // <=> if(p!=0)
cout<<d<<„^”<<p<<” „;
d++;
}
}
–––––––––––––––––––––––-
// Multimea divizorilor proprii ai lui n, adica in afara de 1 si n
#include<iostream.h>
int n,d;
void main()
{
cin>>n;
d=2;
while(d<=n/2)
{
if(n%d==0)
cout<<d<<” „; // afisez divizorii proprii ai lui n, care se pot gasi in [2,n/2]
d++;
}
}
–––––––––––––––-
// CMMDC a 2 nr a si b
#include<iostream.h>
int a,b;
void main()
{
cin>>a>>b;
while(a!=b)
if(a>b)
a=a-b;
else
b=b-a;
cout<<„CMMDC=”<<a;
}
––––––––––––––––
// CMMMC
#include<iostream.h>
int a,b,x,y;
void main()
{
cin>>x>>y;
a=x; b=y;
while(x!=y)
if(x>y)
x=x-y;
else y=y-x;
cout<<„CMMC=”<<(a*b)/x;
}
|
hey, m-as bucura enorm daca mi-ar putea raspunde si mie cineva. De ce la algoritmul pentru aflarea numarului prim dupa while nu se afla {}?
Pentru ca dupa if e doar o comanda .
Foarte bine subliniat , chiar ajuta , multumesc , nu are rost sa ma lungesc , faceti o treaba buna
Salut Alex, c vine de la console, cin= console in, cout= console out, adica citire date, afisare date.
La algoritmul cu numarul prim, ce se intampla daca n=15?
15 nu este numar prin, dar totusi 15%2=1..
Pai daca e diferit de 0 d creste. La final daca d nu a ramas pe valoarea initiala numarul nu e prim