C# programozasban lenne problemam (meg csak tanulgatom) (? )
Programozási feladat: Állapítsuk meg két billentyőzetrıl bekért számról, hogy
mi a legnagyobb közös osztójuk! A legnagyobb olyan szám, amely mindkét
számot osztja. Ezen értéket meghatározhatjuk kereséssel (ciklus), vagy az
Euklideszi algoritmussal is.
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
int a, b, i;
a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
for (i = b; i >= 0; i--)
{
if (a % i == 0 && b % i == 0)
{ Console.WriteLine(i); }
}
Console.ReadLine();
}
}
}
Igy probaltam, de mindig hibat ir. Emellett, ha nem irna hibat, akkor is az osszes osztot kiirna es nem csak a legnagyobbat. Elore is koszonom a segitseget.
> Igy probaltam, de mindig hibat ir.
A hibaüzenetet el kell olvasni, majd értelmezni kell. Ha nem megy, segítünk, csak másold be.
#1 vagyok
Amúgy tippre a 0-val osztás a baj.
--> for (i = b; i >= 0; i--)
--> if (a % i == 0 && b % i == 0)
static void Main(string[] args)
{
int a, b, i;
a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
if (a > b) i = b; else i = a;
while ((a % i != 0) || (b % i != 0)) i--;
Console.WriteLine(i);
Console.ReadLine();
}
static int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a % b);
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!