Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Problema clasa a 9 a C++  (Citit de 7863 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
razvan.atd
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« : Ianuarie 19, 2013, 18:16:02 »

Enuntul : Pentru un numar n sa se afiseze ultimii p divizori proprii ai lui ( diferiti de 1 si de el insusi ). Daca numarul n are mai putin de p divizori se vor afisa toti. Exemplu : Pentru n=24 si p=2 se va afisa 8 12.

Cod:
#include <iostream>

using namespace std;

int main()
{
    int n,p,i,x,u,q,d;
    cout<<"n=";
    cin>>n;
    cout<<"p=";
    cin>>p;
    i=2;
    x=0;
    u=n/2;
    q=0;
    d=2;
    while(i<=n/2)
    {
        if(n%i==0)
        {
            x++;
        }
        i++;
    }
    if(p<=x)
    {
        while(q<=p)
        {
            if(n%u==0)
            {
                cout<<u<<" ";
            }
            q=q+1;
            u=u-1;
        }
    }
    if(p>x)
    {
        while(d<=n/2)
        {
            if(n%d==0)
            {
                cout<<" "<<d;
            }
            d++;
        }
    }

}

Daca introduc un numar care are mai putin de p divizori , afiseaza toti divizorii , insa nu imi arata ultimii divizori P , ci doar ultimul divizor .
Memorat
flaviumanica
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 22



Vezi Profilul
« Răspunde #1 : Februarie 03, 2013, 15:55:45 »

Programul pare ok,in caz ca un numar are mai putin de p divizori,ii afiseaza pe toti in ordine crescatoare. Nu iti poate afisa p divizori, daca nu are atatia Smile
Memorat
baTTLe4u_15
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 19



Vezi Profilul
« Răspunde #2 : Martie 10, 2013, 16:30:38 »

Pe mine ma doare capul de la ce ai scris.

Fa si tu un

k=0;
for( i= numar/2 ; i>1 && p ; i--)
        if( !(numar%i) ){
               p--;
              sol[++k]=i;} // daca pun cout, afisaza divizorii descrescator

while(k--) cout<<sol[k]<<" ";
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines