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

Se considera un numar n. Daca un numar format din primele lui doua cifre este perfect, atunci se va afisa numarul total de cifre al lui n, in caz contrar se va afisa numarul de cifre pare pe care le contine.
Exemplu:
Pentru n=28413 se va afisa numarul 5; Pentru numarul 4914 se va afisa numarul 2.
*in limbaj C++*


SeeSharp: nu inteleg ce vrei sa spui cu 'Daca un numar format din primele lui doua cifre este perfect'
SeeSharp: ce inseamna 'perfect'
SeeSharp: un numar este 'perfect' daca suma primelor 2 cifre este 10?
andreeacostea0: Un numar este perfect daca suma divizorilor sai, strict mai mici, este egala cu numarul respectiv.

Răspunsuri la întrebare

Răspuns de AdiHero
2
#include<iostream>
using namespace std;
int main ()
{
    int n,i,sdiv=0;
    cin>>n;
    int aux=n;
    while(aux>99)
        aux/=10;
    for(i=1;i<=aux/2;i++)
        if(aux%i==0) sdiv=sdiv+i;
    if(sdiv==aux)
    {
        int nrc=0;
        while(n!=0)
        {
            nrc++;
            n/=10;
        }
        cout<<nrc;
    }
    else
    {
        int nrpare=0;
        while(n!=0)
        {
            if(n%2==0) nrpare++;
            n/=10;
        }
        cout<<nrpare;
    }
    return 0;
}


Alte întrebări interesante