Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 21:39   #1
Студент8565
Пользователь
 
Регистрация: 11.05.2013
Сообщений: 12
По умолчанию пары простых чисел, троичные представления которых получаются друг из друга записью в обратном порядке

Форумчане, спасайте.
Перечислить все пары 'соседних' простых чисел, не превосходящих N, троичные представления которых получаются друг из друга записью цифр в обратном порядке (первая такая пара - это 5 и 7).

c#
Студент8565 вне форума Ответить с цитированием
Старый 14.05.2013, 22:00   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Написать код, который просто последовательно выводит все простые числа от 3 до N - можете?
Abstraction вне форума Ответить с цитированием
Старый 15.05.2013, 15:03   #3
Студент8565
Пользователь
 
Регистрация: 11.05.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Написать код, который просто последовательно выводит все простые числа от 3 до N - можете?
да, вот функция которая методом перебора, находит простые числа

Код:
static bool Prost(int number)
            {
                if (number < 2) 
                    return false;
                for (int i = 2; i <= Math.Sqrt(number); i++)
                {
                    if (number % i == 0)
                        return false;
                }
                return true;
            }
а как дальше?
Студент8565 вне форума Ответить с цитированием
Старый 15.05.2013, 16:16   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, дальше, можно грубо, в лоб:
Код:
    class Program
    {
        static string IntToThreeBaseNumber(int A)
        {
                String s = "";
                while (A != 0)
                {
                    s = A % 3 + s;
                    A /= 3;
                }
                return s;
        }

        static int ThreeBaseNumberToInt(string s)
        {
            int Num = 0;
            int Base = 1;
            for (int i = s.Length-1; i>=0; i--)
            {
                Num = Num + (Convert.ToInt32(s[i]) - 48 ) * Base;
                Base *= 3;
            }
            return Num;
        }
        static int ReverseThreeBaseNumberToInt(string s)
        {
            int Num = 0;
            int Base = 1;
            for (int i = 0; i < s.Length; i++)
            {
                Num = Num + (Convert.ToInt32(s[i]) - 48) * Base;
                Base *= 3;
            }
            return Num;
        }

        static bool Prost(int number)
        {
            if (number < 2)
                return false;
            for (int i = 2; i <= Math.Sqrt(number); i++)
            {
                if (number % i == 0)
                    return false;
            }
            return true;
        }

        static void Main(string[] args)
        {
            int N = 30; 
            for (int i = 1; i < N; i++)
            {
                if (Prost(i))
                {
                    int ReverseNum = ReverseThreeBaseNumberToInt ( IntToThreeBaseNumber(i) );
                    Console.WriteLine(" для простого числа {0} обратное в троичное системе равно {1} и оно {2}",
                    i, ReverseNum, Prost(ReverseNum) ? "простое":"не простое");
                    
                }
            }
            Console.ReadKey();
        }
    }

p.s. извините, если не дал Вам самостоятельно дописать программу
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2013, 17:00   #5
Студент8565
Пользователь
 
Регистрация: 11.05.2013
Сообщений: 12
По умолчанию

я извиняюсь, но вроде Вы немного не поняли задание
нужно найти простые числа, эти найденные простые числа перевести в троичную систему и напечатать те числа, которые в троичном представлении являются инверсией друг друга (первая пара чисел подходящих под условие
5-12 и 7-21)
Студент8565 вне форума Ответить с цитированием
Старый 15.05.2013, 18:56   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну так в чем проблема?
Находите простое число, переводите его в троичную систему, переставляете цифры, переводите обратно и проверяете на простоту.
s-andriano вне форума Ответить с цитированием
Старый 15.05.2013, 19:25   #7
Студент8565
Пользователь
 
Регистрация: 11.05.2013
Сообщений: 12
По умолчанию

в том и проблема, что я не знаю как это реализовать. поэтому прошу помощи.
Студент8565 вне форума Ответить с цитированием
Старый 15.05.2013, 21:52   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Студент8565 Посмотреть сообщение
я извиняюсь, но вроде Вы немного не поняли задание
нужно найти простые числа, эти найденные простые числа перевести в троичную систему и напечатать те числа, которые в троичном представлении являются инверсией друг друга
ну, так моя программа печатает простое число. переводит его его в троичное представление, разворачивает наоборот и получает число, представленное инверсной записью.
Выводит исходное простое число, его симметричную пару и сообщает, является ли симметричное число простым..

А Вы вообще мою программу запускали?..

Цитата:
Сообщение от Студент8565 Посмотреть сообщение
(первая пара чисел подходящих под условие 5-12 и 7-21)
стоп. Вы свой первый пост читали?
Первая пара таких чисел - это 5 и 7
при чём здесь 5 и 12 ?!!!!


Цитата:
Сообщение от s-andriano
Находите простое число, переводите его в троичную систему, переставляете цифры, переводите обратно и проверяете на простоту.
Кстати, именно так и работает представленная мною программа

Последний раз редактировалось Serge_Bliznykov; 15.05.2013 в 21:58.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2013, 22:39   #9
Студент8565
Пользователь
 
Регистрация: 11.05.2013
Сообщений: 12
По умолчанию

5 в троичной с.с -12, 7 в троичной с.с-21
12 яв-ся инверсией 21

да, запускал, но мне нужен вывод в другом формате, может поэтому я не понял вашу программу сразу.

вывод должен быть примерно таким:
"пары чисел,подходящие под условие:"
5-12 и 7-21 и т.д
Студент8565 вне форума Ответить с цитированием
Старый 15.05.2013, 23:34   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вам дали банку с мёдом и хлеб с маслом, но Вас это не устраивает, Вы любите, когда мёд уже намазан на бутерброд... Неужели трудно из открытой банки мёда намазать мёд на бутерброд самостоятельно?!

Ладно. Не суть...
Попробуйте такой код основной программы:
Код:
int N = 30; 
            for (int i = 1; i < N; i++)
            {
                if (Prost(i))
                {
                    string s1 = IntToThreeBaseNumber( i );
                    string s2 = new string(s1.ToCharArray().Reverse().ToArray()); // записали строку в обратном порядке, используя LINQ
                    int ReverseNum = ThreeBaseNumberToInt ( s2 );
                    if ( (i<ReverseNum) && Prost(ReverseNum))
                    { 
                       Console.WriteLine(" {0} - {1} и {2}-{3}",
                           i, s1, ReverseNum, s2 );
                     }  
                }
            }
так выводит так, как Вы хотели?!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# Нахождение пары элементов с наименьшими отличиями друг от друга в массиве. GoldSieg Помощь студентам 6 18.02.2013 12:45
Номера столбцов в которых находиться более двух простых чисел andry-raser Общие вопросы C/C++ 1 19.12.2011 13:59
найти кол-во трехзначных чисел сумма простых делителей которых кратна 5 (на Делфи) anzorchik Помощь студентам 2 02.10.2011 16:18
Методом простых включений произвести сортировку (упорядочивание в порядке возрастания) массива из N действительных чисел СашаСаша Помощь студентам 1 04.07.2011 18:41
Перестановка чисел в массиве в обратном порядке Student117 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 22.10.2009 06:14