Rechenaufgabe mit ganzer Zahl als Ergebnis



  • Hallo,
    also ich möchte gerne zwei Zahlen generieren die wenn man sie dividiert eine ganze Zahl ergeben. Dabei wäre noch wichtig, dass die erste Zahl größer als die zweite Zahl sein muss.

    Mein bisheriger Versuch:

    /*
    BASE ist 100
    */
    	double Number1		=		rand() % ( ( BASE / 2 ) + 1 );
    	double Number2		=		rand() % ( ( BASE / 10 ) + 1 );
    	double Result		=		0;
    
    	while ( Number1 / Number2 == ( double ) 0 || Number1 < Number2 )
    	{
    		Number2		=		rand() % ( ( BASE / 2 ) + 1 );
    		Number1		=		rand() % ( ( BASE / 10 ) + 1 );
    
    		if ( Number1 == 0 )
    			Number1 = 2;
    
    		if ( Number2 == 0 )
    			Number2 = 2;
    	}
    

    Das Problem ist das liefert jedoch trotzdem ab und zu noch gebrochene Zahlen 😞

    BASE ist in diesem Fall jedenfalls 100...

    Würde mich über Hilfe freuen bin ratlos 🙂

    Gruß



  • int z2=rand()%10+1;
    int z1=z2*(rand()%10+1);
    


  • Hi,
    danke für deine Antwort funktioniert jedoch auch nicht so wie es soll.

    Gruß



  • Blubbb schrieb:

    Hi,
    danke für deine Antwort funktioniert jedoch auch nicht so wie es soll.

    Gruß

    ups.

    int z1=z2*(rand()%9+2);
    

    oder aufgedröselt

    int faktor1=rand()%10+1;//zwischewn 1 und 10
    int faktor2=rand()%9+2;//zwiechen 2 und 9
    int produkt=faktor1*faktor2;
    int z1=produkt;
    int z2=faktor1;
    

    ich bin recht zuversichtlich, daß wenn man z1 durch z2 teilt, was ganzen rauskommt, nämlich faktor2.


Anmelden zum Antworten