none
Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно просты с ним. Помогите сделать программу в с# RRS feed

  • Вопрос

  • Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно просты с ним. Помогите сделать программу в с#
    5 октября 2015 г. 14:37

Ответы

  • Вот такой вопрос это уже формат форума!

    Под консоль у меня студии нет, но при проверке в другой среде и своем операторе NOD. Для числа 16 получила ответ "1 3 5 7 9 11 13 15" по вашему алгоритму.

    NOD у меня описан следующей функцией, нашла в инете:

            private int NOD(int m, int n)
            {
                int nod = 0;
                for (int i = 1; i < (n * m + 1); i++)
                {
                    if (m % i == 0 && n % i == 0)
                    {
                        nod = i;
                    }
                }
                return nod;
            }
    P.S. Плюс вам могу посоветовать пользоваться отладчиком, чтоб посмотреть последовательность выполняемых операторов и текущие значения переменных при этом.


    5 октября 2015 г. 17:02

Все ответы


  • Пожалуйста учитесь сами, никто за вас задания делать не будет.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    5 октября 2015 г. 15:07
    Модератор
  • {
                            Console.WriteLine("Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно просты с ним");
                            int n, k = 0;
                            Console.WriteLine("Введите n");
                            n = Convert.ToInt32(Console.ReadLine());
                            for (int i = 0; i < n; i++)
                                if (NOD(i, n) == 1)
                                {
                                    Console.WriteLine(" " + i);
                                    k = 1;
                                }
                            if (k == 0) Console.WriteLine("Нет взаимно простых чисел");
                        }

    Тогда подскажите пожалуйста,почему программа не работает,выводит только число,а дальше не идет

    5 октября 2015 г. 16:29
  • Вот такой вопрос это уже формат форума!

    Под консоль у меня студии нет, но при проверке в другой среде и своем операторе NOD. Для числа 16 получила ответ "1 3 5 7 9 11 13 15" по вашему алгоритму.

    NOD у меня описан следующей функцией, нашла в инете:

            private int NOD(int m, int n)
            {
                int nod = 0;
                for (int i = 1; i < (n * m + 1); i++)
                {
                    if (m % i == 0 && n % i == 0)
                    {
                        nod = i;
                    }
                }
                return nod;
            }
    P.S. Плюс вам могу посоветовать пользоваться отладчиком, чтоб посмотреть последовательность выполняемых операторов и текущие значения переменных при этом.


    5 октября 2015 г. 17:02