Все делители кратные целым числам - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д