58 lines
2.5 KiB
C
58 lines
2.5 KiB
C
/****************************************************************************************
|
|
* Schreiben Sie ein Programm, das die Laenge und Breite eines Platzes einliest und *
|
|
* ausgibt, wie viele quadratische Platten benoetigt werden, um die Flaeche komplett *
|
|
* zu bedecken. Dabei sollen so wenig Platten wie möglich verwendet werden. *
|
|
* *
|
|
* Beispiel: *
|
|
* Geben Sie die Laenge des Platzes ein. *
|
|
* >> Geben Sie eine positive, ganze Zahl ein: gfdgfd *
|
|
* >> Geben Sie eine positive, ganze Zahl ein: -5 *
|
|
* >> Geben Sie eine positive, ganze Zahl ein: 55 *
|
|
* Geben Sie die Breite des Platzes ein. *
|
|
* >> Geben Sie eine positive, ganze Zahl ein: 0 *
|
|
* >> Geben Sie eine positive, ganze Zahl ein: rtre *
|
|
* >> Geben Sie eine positive, ganze Zahl ein: 100 *
|
|
* Sie benoetigen 220 Platten der Groesse 5x5. *
|
|
****************************************************************************************/
|
|
|
|
#include <stdio.h>
|
|
#include "../io/myio.h"
|
|
|
|
unsigned int inputPositiveNumber(const char *text);
|
|
unsigned int getGreatestCommonDivisor(unsigned int number1, unsigned int number2);
|
|
|
|
int main()
|
|
{
|
|
unsigned int squareWidth = inputPositiveNumber("Geben Sie die Breite des Platzes ein: ");
|
|
unsigned int sqaureHeight = inputPositiveNumber("Geben Sie die Hoehe des Platzes ein: ");
|
|
unsigned int tileSize = getGreatestCommonDivisor(squareWidth, sqaureHeight);
|
|
unsigned int tileCount = (squareWidth * sqaureHeight) / (tileSize * tileSize);
|
|
|
|
printf("Sie benoetigen %d Platten der Groesse %dx%d.\n", tileCount, tileSize, tileSize);
|
|
|
|
return 0;
|
|
}
|
|
|
|
unsigned int inputPositiveNumber(const char *text)
|
|
{
|
|
int number = -1;
|
|
|
|
while(number <= 0)
|
|
{
|
|
number = getNumber(text);
|
|
}
|
|
|
|
return number;
|
|
}
|
|
|
|
unsigned int getGreatestCommonDivisor(unsigned int number1, unsigned int number2)
|
|
{
|
|
while(number2 > 0)
|
|
{
|
|
unsigned int error = number1 % number2;
|
|
number1 = number2;
|
|
number2 = error;
|
|
}
|
|
|
|
return number1;
|
|
} |