greatest = 1;
// Eng kichik va eng katta umumiy bo`luvchilarni topish.
for(i=2; i <= max/2 + 1; i++) {
if( ((y%i)==0) & ((x%i)==0) ) {
if(first) {
least = i;
first = false;
}
greatest = i;
}
}
if(least != 1) return true;
else return false;
}
}
class DemoOut {
static void Main() {
Num ob = new Num();
int lcf, gcf;
if(ob.HasComFactor(231, 105, out lcf, out gcf)) {
Console.WriteLine("Наименьший общий множитель " +
"чисел 231 и 105 равен " + lcf);
Console.WriteLine("Наибольший общий множитель " +
"чисел 231 и 105 равен " + gcf);
}
else
Console.WriteLine("Общий множитель у чисел 35 и 49 отсутствует.");
if(ob.HasComFactor(35, 51, out lcf, out gcf)) {
Console.WriteLine("Наименьший общий множитель " +
"чисел 35 и 51 равен " + lcf);
Console.WriteLine("Наибольший общий множитель " +
"чисел 35 и 51 равен " + gcf);
}
else
Console.WriteLine("Общий множитель у чисел 35 и 51 отсутствует.");
}
}
Shuni esda tutingki, HasComFactor() metodi chaqirilishidan oldin lcf va gcf o'zgaruvchilarning qiymatlari Main() metodi tomonidan belgilanadi. Agar HasComFactor() metodi parametrlari out emas, balki ref tipida bo'lsa, bu xatoga olib keladi. Ushbu metod ikki butun sonning umumiy bo`luvchisi mavjudligiga qarab, true yoki false mantiqiy qiymatni qaytaradi. Agar mavjud bo'lsa, out tipidagi parametrlar yordamida ushbu sonlarning eng kichik va eng katta umumiy bo`luvchilari qaytariladi.
Dostları ilə paylaş: |