написать программу на Java !
Какова N-я перестановка цифр 0 1 2 3 4 5 6 7 8 9, если предположить, что их генерировали в лексикографическом порядке?
На вход подается N
Выход 10 цифр без пробелов – перестановка под номером n
Входные данные
1
Выходные данные
0123456798
Входные данные 2
2
Выходные данные 2
0123456879
Растровая графика
1. применяется при разработке электронных полиграфических изданий
2. фотографическое качество, легко могут быть распечатаны на принтере
3. большие размеры, плохо масштабируются
4. Paint, adobe Photoshop (самые популярные)
5. GIF, JPEG, TIFF, PSD
6. применяют в интернете, при разработке электронных (мультимедийных) и полиграфических изданий
Векторная графика
1. это метод создания компьютерного изображения, которое строится посредством обработки математического описания в специальном программном обеспечении.
2. занимают относительно небольшой объем памяти, изображение может легко масштабироваться без потери качества.
3. графика не позволяет получать изображения фотографического качества. Векторные изображения теряют качество при распечатывании
4. shareware, adobe illustrator
5. EMF, SVG, Al и тд.
6. в рекламных агентствах, в редакциях и издательствах и тд.
Допустим, мы ведем счет дней недели с воскресенья и присваиваем дням такие номера:
0- Вс, 1- Пн, 2- Вт, 3- Ср, 4- Чт, 5- Пт, 6- Сб.
Определим, когда в январе было первое Вс.
Если 31 был Пн, то 4 недели назад, т.е. 31-28=3 числа тоже был Пн.
А Вс было перед Пн, т.е. 2 января.
Числа от 0 до 6 - это остатки целочисленного деления на 7.
Получается, что остаток деления числа 2 на 7, должен привести нас к нулю. А он равен двум.
Идея: вычтем из остатка 2, чтобы получился ноль.Идея хороша для остатка 2, 3, 4, 5, и 6. Она даст нам значения 0, 1, 2, 3 и 4. А вот для остатков 0 и 1, она даст -2 и -1, что нехорошо.
Внесем корректировку. если получилось отрицательное значение, увеличим его на 7.
Проверим ,будет ли это работать.
1 января - Сб (номер дня 6) алгоритм дает 1-2 = -1 и +7 = 6 - верно
2 января - Вс (номер дня 0) алгоритм дает 2-2 = 0 - верно
3 января - Пн (номер дня 1) алгоритм дает 3-2 = 1 - верно
4 января - Вт (номер дня 2) алгоритм дает 4-2 = 2 - верно
5 января - Ср (номер дня 3) алгоритм дает 5-2 - 3 - верно
6 января - Чт (номер дня 4) алгоритм дает 6-2 = 4 - верно
7 января - Пт (номер дня 5) алгоритм дает 0-2 = -2 и +7 = 5 - верно
8 января - Сб (номер дня 6) алгоритм дает 1-2 = -1 и +7 = 6 - верно9 января - Вс (номер дня 0) алгоритм дает 2-2 = 0 - верно
Все работает.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var chislo:=ReadInteger('Номер дня в январе 2011 года:');
chislo:=chislo mod 7-2;
if chislo<0 then chislo:=chislo+7;
var y:string;
case chislo of
0:y:='Воскресенье';
1:y:='Понедельник';
2:y:='Вторник';
3:y:='Среда';
4:y:='Четверг';
5:y:='Пятница';
6:y:='Суббота'
end;
Writeln('Это ',y)
end.
Примеры
Номер дня в январе 2021 года: 31 января
Это Воскресенье
Номер дня в январе 2021 года: 15 января
Это Пятница