Sunteți pe pagina 1din 9

Mai multe instruciuni repetitive una n alta

Ex : for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

1. Se citesc de la tastatur n numere naturale(<=30000).

S se afieze cte din numerele citite au toate cifrele pare.

Ex. Pentru n=5 i numerele 123 24 6842 231 886 se va afia


3 (nr sunt 24 6842 886)

#include<iostream>

using namespace std;

int n,i, x, ok ,u,cont;

int main()

{cin>>n;

for(i=1;i<=n;i++)

{cin>>x;

ok=1;

while(x)

{u=x%10;

if(u%2==1)

ok=0;

x=x/10;}

if(ok)

cont++; } cout<<cont<<'\n'; return 0; }


2. Se d un numr n variabila n (mai mic sau egal cu 100).

S se afieze toate perechile de numere a i b cu 9<a<b<=n


i a+b, a*b sunt numere palindrom.

Ex. pentru n=45 se vor afia perechile de numere

11 22 ; 11 33 ; 11 44 ; 12 21 ; 16 17 ; 17 38 ; 18 37 ; 23 43 .

#include<iostream> aux=aux/10; }

using namespace std; if(a+b==inv)

int n,a,b,aux,inv,u; {aux=a*b;

int main() inv=0;

{cin>>n; while(aux)

for(a=10;a<=n;a++) {u=aux%10;

for(b=a+1;b<=n;b++) inv=inv*10+u;

{aux=a+b; aux=aux/10;}

inv=0; if(a*b==inv)

while(aux) cout<<a<<' '<<b<<'\n';}

{u=aux%10; return 0;

inv=inv*10+u; }

3. Se s un numr natural n variabila n (<=2000000000).


S se afieze cifrele distincte din scrierea lui n.

Ex. pentru 210012070 se va scrie 0 1 2 7

#include <iostream>

using namespace std;

int n,i,aux,u,ok;

int main()

{cin>>n;

for(i=1;i<=9;i++)

{aux=n;

ok=1;

while(aux&&ok)

{u=aux%10;

if(u==i)

ok=0;

aux=aux/10;

if(ok==0)

cout<<i<<' ';}

return 0;

4. Se dau dou numere n variabilele n i k cu cel mult trei cifre.

S se afieze toate perechile de numere naturale (a,b) cu


proprietatea c 10<a<b<=n i a+b este divizibil cu k.

Exemplu. Pentru numerele 14 i 5 se va afia 11 14; 12 13 .

#include <iostream>

using namespace std;

int n,k,a,b;

int main()

{cin>>n>>k;

for(a=10;a<n;a++)

for(b=a+1;b<=n;b++)

{ if((a+b)%k==0)

cout<<a<<' '<<b<<'\n';

return 0;

5. Se dau de la tastatur dou numere naturale cu cel mult 9


cifre fiecare.

S se afieze numrul cu care are cele mai multe cifre


distincte.

Ex. pentru 123 i 2322 se va afia 123

#include <iostream> }

using namespace std; for(i=1;i<=9;i++)

int {aux2=b;
a,b,i,aux1,aux2,u1,u2,ok,cont1,c
ok=1;
ont2;
while(aux2&&ok)
int main()
{u2=aux2%10;
{cin>>a>>b;
if(u2==i)
for(i=1;i<=9;i++)
ok=0;
{aux1=a;
aux2=aux2/10;
ok=1;
}
while(aux1&&ok)
if(ok==0)
{u1=aux1%10;
cont2++;
if(u1==i)
}
ok=0;
if(cont1>cont2)
aux1=aux1/10;
cout<<a;
}
else cout<<b;
if(ok==0)
return 0;
cont1++;
}

6. Se dau de la tastatur dou numere cu cel mult 9 cifre


fiecare.

S se afieze cifrele comune.

#include<iostream>

using namespace std;

int a,b,i,oka,okb,aux1,aux2;

int main()

{cin>>a>>b;

for(i=0;i<=9;i++)

{aux1=a;

aux2=b;

oka=0;

okb=0;

while(aux1)

{if(aux1%10==i)

oka=1;

aux1=aux1/10;}

while(aux2)

{if(aux2%10==i)

okb=1;

aux2=aux2/10;}

if(oka&&okb)

cout<<i<<' '; } return 0; }

7. Se dau de la tastatur dou numere cu cel mult 9 cifre


fiecare.

S se afieze cifrele distincte celor dou numere.


#include<iostream>

using namespace std;

int a,b,i,oka,okb,aux1,aux2;

int main()

{cin>>a>>b;

for(i=0;i<=9;i++)

{aux1=a;

aux2=b;

oka=0;

okb=0;

while(aux1)

{if(aux1%10==i)

oka=1;

aux1=aux1/10;}

while(aux2)

{if(aux2%10==i)

okb=1;

aux2=aux2/10;}

if(oka==1&&okb==0||oka==0&&okb==1)

cout<<i<<' '; } return 0; }

8. n fiierul pal.in se afl dou numere naturale cu maxim 5


cifre, n ordine cresctoare.

Dac aceste numere se citesc n variabilele a i b se cere s


se scrie n fiierul pal.out numerele palindroame care sunt
>= a i <=b .

EX. pal.in pal.out


452 480 454 464 474

#include <iostream>

using namespace std;

int a,b,i,aux,inv=0,u;

int main()

{cin>>a>>b;

for(i=a;i<=b;i++)

{aux=i;

while(aux)

{u=aux%10;

inv=inv*10+u;

aux=aux/10;}

if(i==inv)

cout<<i<<' ';

inv=0;}

return 0; }

9. S se afieze toate perechile de numere naturale(a,b) cu


proprietatea ca a>0; b<100 i lipind cifrele lui b la sfritul
lui a se obine un palindrom ( ex 23 i 32).

#include <iostream>

using namespace std;

int a,b,nr,inv,aux;

int main()

{for(a=1;a<100;a++)
for(b=1;b<100;b++)

{nr=a;

if(b<10)

nr=nr*10+b;

else

nr=nr*100+b;

inv=0;

aux=nr;

while(aux)

{inv=inv*10+aux%10;

aux=aux/10; }

if(nr==inv)

cout<<a<<' '<<b<<'\n'; }

return 0; }

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