Sunteți pe pagina 1din 22

Fisa de lucru-CLASA a X-a

A. Se citeste un numar n natural si nenul de la tastatura. Sa se rezolve urmatoarele cerinte:

1. Sa se verifice daca este egal cu o valoare k citita de la tastatura. In caz afirmativ, sa se


verifice daca are toate cifrele pare. program:
#include <iostream>

using namespace std;

int main()
{
int n,copn;
float k;
bool par=1;
cin>>n>>k;
if(n<=0)
cin>>n;
copn=n;
if(n==k)

{ while(n>
0)
{ if(n
%2!=0)
par=0;
n=n/10;
} if(par==1) cout<<copn<<'
'<<"are toate cifrele pare"; else
cout<<copn<<' '<<"nu are toate cifrele pare";
} else cout<<n<<' '<<"nu este egal
cu"<<' '<<k;

return 0;
}

captura de ecran:
2. Sa se verifice daca se afla in intervalul (a,b] (a si b sunt 2 valori citite de la tastatura).
program:
#include <iostream>

using namespace std;

int main()
{
Fisa de lucru-CLASA a X-a

int n;
float a,b,c;
cin>>n>>a>>b;
while(n<=0)
cin>>n;
while(a==b)
cin>>a>>b;
if(a>b)
{ c=a;
a=b; b=c;
}
if(n>a && n<=b) cout<<n<<' '<<"apartine intervalului
("<<a<<','<<b<<']'; else cout<<n<<' '<<"nu apartine
intervalului ("<<a<<','<<b<<']'; return 0;
}

captura de ecran:

3. Sa se calculeze suma cifrelor pare.


Fisa de lucru-CLASA a X-a

program: #include
<iostream> using
namespace std;

int main()

{
int n,suma=0,copn,cif;
cin>>n; while(n<=0)
cin>>n; copn=n;
while(n>0)
{ cif=n%10;
if(cif%2==0)
suma= suma + cif;
n=n/10;
}
cout<<"suma cifrelor pare a lui "<<copn<<" este "<<suma;
return 0;
}

captura de ecran:

4. Sa se determine inversul/oglinditul/rasturnatul numarului.


program: #include
<iostream> using
namespace std;
Fisa de lucru-CLASA a X-a

int main()
{
int n,ogl=0,copn;
cin>>n;
while(n<=0)
cin>>n; copn=n;
while(n>0)

{
ogl=ogl*10 + n%10;
n=n/10;
}
cout<<"oglinditul numarului "<<copn<<" este "<<ogl;

return 0;
}

captura de ecran:

5. Sa se verifice daca are 4 cifre.


program: #include
<iostream> using
namespace std;

int main()
{
Fisa de lucru-CLASA a X-a

int n,cnt=0,copn;
cin>>n;
while(n<=0)
cin>>n; copn=n;
while(n>0)

{
n=n/10;

cnt++;
} if(cnt==4) cout<<copn<<"
are exact 4 cifre"; else
cout<<copn<<" nu are exact 4 cifre";

return 0;
}

captura de ecran:

6. Sa se determine cate cifre egale cu o valoare k citita de la tastatura are.


program: #include
<iostream> using
namespace std;

int main()
{
Fisa de lucru-CLASA a X-a

int n,cnt=0,copn;
float k;
cin>>n>>k;
while(n<=0)
cin>>n; copn=n;
while(n>0)
{
if(n%10==k)
cnt++; n=n/10;

}
cout<<copn<<" are "<<cnt<<" cifre egale cu "<<k;
return 0;
}

captura de ecran:

7. Sa se verifice daca este un multiplu al lui 7.


program: #include
<iostream> using
namespace std;

int main()
{
Fisa de lucru-CLASA a X-a

int n;
cin>>n;
while(n<=0)
cin>>n;
if(n>=7 && n%7==0) cout<<n<<"

este un multiplu al lui 7"; else


cout<<n<<" nu este un multiplu al lui 7";
return 0;
}

captura de ecran:

8. Sa se determine daca are cel putin 4 divizori.


program: #include
<iostream> using
namespace std;

int main()
{
int n,i,cnt=0;
cin>>n;
while(n<=0)
cin>>n;
for(i=1;i*i<=n;i++)
Fisa de lucru-CLASA a X-a

{ if(n
%i==0)
cnt+=2;
if(i*i==n)
cnt--;
}
if(cnt>=4) cout<<n<<" are cel

putin 4 divizori"; else cout<<n<<"


nu are cel putin 4 divizori"; return 0;
}

captura de ecran:

9. Sa se afiseze numerele din intervalul [1,n] care sunt prime.


program: #include
<iostream> using
namespace std;

int main()
{
int n,i,d; bool
prim=1; cin>>n;
while(n<=0)
cin>>n;
for(i=1;i<=n;i++)
Fisa de lucru-CLASA a X-a

{ prim=1;
for(d=2;d*d<=i;d++)
if(i%d==0)
prim=0;
if(i==1) prim=0; if(prim==1) cout<<i<<" este un nr.
prim care apartine ["<<1<<","<<n<<']'<<endl;
}

return 0;

captura de ecran:

10.Sa se determine daca este un palindrom.


program:
#include <iostream>

using namespace std;

int main()
{
int n,ogl=0,copn;
cin>>n;
while(n<=0)
cin>>n; copn=n;
while(n>0)
{
Fisa de lucru-CLASA a X-a

ogl=ogl*10 + n%10;
n=n/10;
}
if(copn==ogl) cout<<copn<<"
este un palindrom";
else
cout<<copn<<" nu este un palindrom";

return 0;

captura de ecran:

11.Sa se calculeze suma divizorilor numarului.


program: #include
<iostream> using
namespace std;

int main()
{
int n,i,suma=0;
cin>>n;
while(n<=0)
Fisa de lucru-CLASA a X-a

cin>>n;
for(i=1;i*i<=n;i++)
{ if(n%i==0)
suma = suma + i + n/i;
if(i*i==n) suma =
suma- i;
}
cout<<"suma divizorilor numarului "<<n<<" este "<<suma;

return 0;

captura de ecran:

12.Sa se verifice daca numarul este perfect.


program: #include
<iostream> using
namespace std;

int main()
{
int n,suma=0,i;
cin>>n;
Fisa de lucru-CLASA a X-a

while(n<=0)
cin>>n;
for(i=1;i*i<=n;i++)
{ if(n%i==0)
suma = suma + i + n/i;
if(i*i==n) suma =
suma - i; if(n/i==n)
suma = suma - n/i;
}
if(n==suma) cout<<n<<" este
numar perfect"; else cout<<n<<"
nu este numar perfect";

return 0;
}

captura de ecran:

(suma divizorilor sumei divizorilor sai


13. Sa se verifice daca numarul este supraperfect
este egala cu dublul numarului; ex: n=16, suma divizorilor sai este

1+2+4+8+16=31, suma divizorilor lui 31=1+31=32=2*16)


program:
#include <iostream>
using namespace std;
Fisa de lucru-CLASA a X-a

int main() { int


n,suma=0,sumadiv=0,d,i;
cin>>n; while(n<=0)
cin>>n; for(i=1;i*i<=n;i++)
{ if(n%i==0)
suma = suma + i + n/i;
if(i*i==n) suma =
suma - i;
}
for(d=1;d*d<=suma;d++)
{
if(suma%d==0) sumadiv =
sumadiv + d + suma/d;
if(d*d==suma) sumadiv =
sumadiv - i;
}
if(sumadiv==2*n) cout<<n<<" este
numar supraperfect"; else cout<<n<<"
nu este numar supraperfect";

return 0;
}

captura de ecran:
14.Sa se determine cifra minima si cifra maxima.
program:
#include <iostream>

using namespace std;

int main()
{
int n,cif,maxi=0,mini;
cin>>n; while(n<=0)
cin>>n; maxi=n%10;
mini=n%10;
while(n>0)
{ cif=n
%10;
if(cif>maxi)
maxi=cif;
if(cif<mini)
mini=cif;
n=n/10;
Fisa de lucru-CLASA a X-a

}
cout<<mini<<" este cea mai mica cifra a nr., iar "<<maxi<<" cea mai mare";
return 0;
}
captura de ecran:

15.Sa se afiseze primele n patrate perfecte.


program: #include
<iostream> using
namespace std;

int main()
{
int n,i;
cin>>n;
while(n<=0)
cin>>n;
for(i=0;i<n;i++)
cout<<i*i<<' ';

return 0;
}
Fisa de lucru-CLASA a X-a

captura de ecran:
16.Sa se afiseze primii n multiplii ai lui k, unde k este o valoare citita de la tastatura.
program:
#include <iostream>

using namespace std;

int main()
{
int n,i;
unsigned k;
cin>>n>>k;
while(n<=0)
cin>>n;
for(i=0;i<n;i++)

{ cout<<k*i<<'
';
}

return 0;
}

captura de ecran:
17.Sa se calculeze valoarea 2n.
program: #include
Fisa de lucru-CLASA a X-a

<iostream> using
namespace std;

int main()
{
int n,i,putere=1; cin>>n; while(n<=0)
cin>>n; for(i=1;i<=n;i++) putere =
putere * 2; cout<<"2 la puterea "<<n<<" este
"<<putere;

return 0;
}

captura de ecran:
18.Sa se calculeze cifra de control.
program: #include
<iostream> using
namespace std;

int main()
{
int n,s=0,copn;
cin>>n;
while(n<=0)
cin>>n;
Fisa de lucru-CLASA a X-a

copn=n; while
(n>9)
{ s=0;
while (n>0)
{

s+=n%10;
n/=10; }
n=s;
}
cout<<"cifra de control a nr. "<<copn<<" este "<<n;

return 0;
}

captura de ecran:

19.Sa se determine cel mai mare numar ce poate fi format cu cifrele numarului n.
program:
#include <iostream>

using namespace std;


int v[101]; int main()
{
Fisa de lucru-CLASA a X-a

long long n,nrcif=0,i,copn,aux,j,nr=0;


cin>>n; while(n<=0) cin>>n;
copn=n; while(n>0)

{
n=n/10;
nrcif++;
}
n=copn;
for(i=1;i<=nrcif;i++)
{
v[i]=n%10;
n=n/10;
}
for(i=1;i<=nrcif;i++)
for(j=i+1;j<=nrcif;j++)
if (v[i] < v[j])
{
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
for(i=1;i<=nrcif;i++) nr=nr*10 + v[i]; cout<<"cel mai mare nr.
format din cifrele nr. "<<copn<<" este "<<nr;

return 0;
}

captura de ecran:

20.Sa se determine prima putere a lui 3 mai mare decat n.


program: #include
<iostream> using
namespace std; int
main()

{
int n,putere=1,i;
cin>>n;
while(n<=0)
cin>>n;
for(i=1;i<=n;i++)
Fisa de lucru-CLASA a X-a

{ putere=putere*
3; if(putere>n)
break;
}
cout<<"prima putere a lui 3 mai mare ca "<<n<<" este "<<i;
return 0;
}

captura de ecran:

21.Sa se determine numerele de 2 cifre mai nici decat n2 care au suma divizorilor un numar
de tip palindrom. program:
#include <iostream>

using namespace std;

int main() { int

n,i,d,ogl=0,suma=0,c

opsuma; cin>>n;

while(n<=0)
Fisa de lucru-CLASA a X-a

cin>>n;

if(n*n>99)

{ for(i=10;i<=99;i+
+)
{ suma=0;
ogl=0;
for(d=1;d*d<=i;d++)
{ if(i%d==0)
suma = suma + d + i/d;
if(d*d==i) suma =
suma - d;
}
copsuma=suma;
while(suma>0)
{
ogl=ogl*10 + suma%10;
suma=suma/10;
}
if(copsuma==ogl)
cout<<i<<' ';
}

}
else

{ for(i=10;i<n*n;i+
+)
{ suma=0;
ogl=0;
for(d=1;d*d<=i;d++)
{ if(i%d==0)
suma = suma + d + i/d;
if(d*d==i) suma =
suma - d;
}
copsuma=suma;
while(suma>0) {
ogl=ogl*10 + suma%10;
suma=suma/10;
}
if(copsuma==ogl)
cout<<i<<' ';
Fisa de lucru-CLASA a X-a

}
}
return 0;
}

captura de ecran:

22.Sa se afiseze media aritmetica a cifrelor numarului.


program: #include
<iostream> using
namespace std;

int main()
{
int n,i,copn; float
ma,nrcif=0,sumacif=0;
cin>>n;
while(n<=0)
cin>>n; copn=n;
while(n>0)
{
sumacif+=n%10;
nrcif++; n=n/10;
Fisa de lucru-CLASA a X-a

}
ma=sumacif/nrcif; cout<<"media aritmetica a cifrelor nr.
"<<copn<<" este "<<ma;

return 0;
}

captura de ecran:

S-ar putea să vă placă și