Все делители кратные целым числам - C#
Формулировка задачи:
Добрый день, помогите с задачей. Заранее всем спасибо!
Для заданного натурального числа N вывести на экран все делители кратные целым числам С и D одновременно;
Программа работает через алгоритм Евклида. Не знаю как ее переделать через перебор.
И кто может подсказать по условию, верно ли я выдаст:
N: 8
C: 2
D: 4
Выдать должно было быть 1,2 ?
using System;
namespace JDD
{
class Program
{
static long EuclidGCD(long arg1, long arg2)
{
if (arg1 == 0
||
arg2 == 0)
{
return 0;
}
long tmp = 0;
while (arg2 != 0)
{
tmp = arg1 % arg2;
arg1 = arg2;
arg2 = tmp;
}
return arg1;
}
static void Main(string[] args)
{
Console.WriteLine("Введите (N):");
long N = Convert.ToInt64(Console.ReadLine());
Console.WriteLine("Введите второе делимое (C):");
long C = Convert.ToInt64(Console.ReadLine());
Console.WriteLine("Введите третье делимое (D):");
long D = Convert.ToInt64(Console.ReadLine());
Console.WriteLine("Общие делители данного набора чисел:");
long CommonDivisor = EuclidGCD(EuclidGCD(N, C), D);
for (long i = 1; i < CommonDivisor; i++)
{
if(CommonDivisor % i == 0)
{
Console.WriteLine("{0}", i);
}
}
Console.WriteLine("{0}", CommonDivisor);
Console.ReadKey();
}
}
}Решение задачи: «Все делители кратные целым числам»
textual
Листинг программы
Дано: N:1000 C:100 D:10 Ищем: nod = 100; N/2 = 500; N%(nod*1)==0 N%(nod*2)==0 N%(nod*3)!=0 N%(nod*4)!=0 N%(nod*5)==0