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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2012, 12:21   #11
Artem_Kokos
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 122
По умолчанию

Так это по-моему к криптографии имеет отношение вообще... Интересно.
Повторенье - мать ученья. И прибежище для лентяев.
Artem_Kokos вне форума Ответить с цитированием
Старый 09.07.2012, 12:58   #12
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Удачной компиляции :-D
Код:
#include <iostream>
#include <iomanip>
#include <array>
#include <type_traits>

using namespace std;

template<int n>
static constexpr bool IsLucky()
{
	return
		n / 100000 % 10 + n /  10000 % 10 + n /   1000 % 10 ==
		n /    100 % 10 + n /     10 % 10 + n /      1 % 10;
}

template<int n, int... ns>
struct LuckyNumbers
{
	typedef
		typename conditional<
			IsLucky<n>(),
			LuckyNumbers<n - 1, n, ns...>,
			LuckyNumbers<n - 1, ns...>
			>::type NextStep;
	static constexpr int count = NextStep::count + static_cast<int>(IsLucky<n>());
	static constexpr decltype(NextStep::GetArray()) GetArray()
	{
		return NextStep::GetArray();
	}
};

template <int... ns>
struct LuckyNumbers<-1, ns...>
{
	static constexpr int count = sizeof...(ns);
	static constexpr array<int, count> GetArray()
	{
		return {{ns...}};
	}
};

int main()
{
	auto lucky = LuckyNumbers<999999>::GetArray();
	cout << setfill('0');
	for (auto n : lucky)
		cout << setw(6) << n << endl;
}
Somebody вне форума Ответить с цитированием
Старый 09.07.2012, 13:02   #13
Artem_Kokos
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 122
По умолчанию

Цитата:
Сообщение от Somebody Посмотреть сообщение
Удачной компиляции :-D
Господь с вами somebody
Повторенье - мать ученья. И прибежище для лентяев.
Artem_Kokos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи в ТурбоПаскаль: найти числа Армстронга и просуммировать числа в последовательности номера которых простые числа Lena1808 Помощь студентам 1 17.05.2012 08:00
Задані цілі числа від 1 до 100.Надрукувати в порядку зростання усі числа що можна подати у вигляді 7*i*j+j+3, де i,j - цілі числа. Саша513 Паскаль, Turbo Pascal, PascalABC.NET 0 16.05.2012 18:45
Даны натуральные числа n и m. Получить сумму m последних цифр числа n pahanzona Microsoft Office Excel 11 27.02.2011 02:17
Вычислить:у=а*(в*в*в)*с,где а,в,с-двоичные числа.Для хранения числа использ.массив! Таняпервокурсница Помощь студентам 4 04.06.2010 12:08
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49