Informatică, întrebare adresată de AnastiAndrada, 9 ani în urmă

AM MARE NEVOIE DE AJUTOR, NU INTELEG NIMIC LA INFO!

1. Se citesc două numere naturale a si b. Sa se afiseze toate valorile de tip palindrom care se afla in intervalul (a; b).

2. Sa se determine restul împărțirii unui număr natural n la numărul obținut prin eliminarea tuturor aparițiilor cifrei maxime din numar.
n=1273
n=123
n%nd=43

Răspunsuri la întrebare

Răspuns de boiustef
2

#include <iostream>

using namespace std;

int main()

{

   int n, cifmax=0, copie, newn, rest, cif;

   cin >> n;

   copie=n;

   int zeci=1;

   while (copie != 0)

   {

       cif=copie % 10;

       if (cif > cifmax)  cifmax = cif;

       copie = copie / 10;

       zeci=zeci*10;

   }

   zeci/=10;

 

   newn=0;

   copie = n;

   while (copie != 0)

   {

       cif = copie / zeci;

       if (cif != cifmax) newn=newn*10 + cif;

       copie = copie % zeci;

       zeci=zeci/10;

   }

   

   rest = n % newn;

   cout << rest;

   return 0;

}


Răspuns de Daniel4761
2

1)

#include <iostream>

using namespace std;

int main()

{

int a, b, n, copie, inv=0;

cout<<"a="; cin>>a;

cout<<"b="; cin>>b;

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

 copie=n; inv=0;

 while(copie!=0){

  inv=inv*10+copie%10;

  copie=copie/10;

 }

 if(inv==n)

  cout<<n<<' ';

}

return 0;

}

2)

#include <iostream>

using namespace std;

int main()

{

int n, max=0, inv=0, nr;

cout<<"n="; cin>>n; nr=n;

while(nr){

 inv=inv*10+nr%10;

 if(max<nr%10) max=nr%10;

 nr=nr/10;

}

while(inv){

 if(inv%10!=max)

  nr=nr*10+inv%10;

 inv=inv/10;

}

cout<<n%nr;

return 0;

}

Alte întrebări interesante