e-olymp 1288. n-значные числа

Задача:

Сколько натуральных $n$ -значных чисел начинаются с цифры $a$ или цифры $b$?

Входные данные:

Заданы три целых числа: натуральное $n$ [latex](0 \lt n \leqslant 10^6)[/latex] и целые $a$ и $b$. Все данные, как и само условие задачи, заданы в десятичной системе счисления.

Выходные данные:

Вывести количество натуральных $n$ -значных чисел, которые начинаются с цифры $a$ или цифры $b$.

Тесты:

Ввод Вывод
3 3 4 200
1 2 2 1
4 0 0 0
10 9 9 1000000000

Код:

Решение:

Среди однозначных чисел с каждой цифры начинается только одно число.
Среди двухзначных чисел с одной цифры начинается уже десять чисел.
Среди трехзначных — сто и так далее. Легко заметить закономерность, что в количестве чисел, начинающихся с определенной цифры, единица всегда остается, а к ней приписывают $n-1$ нулей, где $n$ — количество разрядов.
Если мы ищем количество чисел начинающихся уже с двух разных цифр, то единица меняется на двойку, а количество нулей сохраняется.

Отсюда и решение задачи — последовательная проверка всех вариантов и вывод ответа.

Ссылки:

e-olymp
ideone

Поздравляем с Днем Рождения!

Игорь Евгеньевич, Приматы 1-го курса поздравляют Вас с Юбилеем!

Все наши поздравления и пожелания мы собрали в одну запись. Мы очень надеемся, что Вам будет приятно!)

Наши Поздравления:

  • Игорь Евгеньевич, с Днем Рождения Вас! Желаю побольше радостных событий и улыбок в Вашей жизни, чтобы студенты радовали Вас своими мозгами и не бесили их отсутствием, чтобы каждое утро для Вас было добрым, и чтоб каждый без Ваших напоминаний знал, где найти информацию об отступах. Оставайтесь таким же позитивным Преподавателем, который действительно учит, а не читает предмет для галочки. Спасибо Вам за это. И еще раз с праздником ))
  • Игорь Евгеньевич, поздравляю вас с днём рождения! Буквально с первого занятия вам удалось зацепить многих из нас вашим бескрайним энтузиазмом и нестандартным методом подачи вполне себе заурядного материала, мотивируя нас все глубже погружаться в увлекательный мир программирования. Желаю вам оставаться таким же харизматичным, веселым и оптимистичным, ведь именно эти черты характера зачастую наполняют повседневную жизнь пёстрыми красками, побольше вдохновения, счастливых моментов и красиво оформленных кодов, и поменьше вредных математиков по типу Фон-Неймана! (Мне, конечно, не хотелось, чтобы его фамилия светилась даже в поздравлении, но надеюсь, что контекст поздравления это нивелирует)
  • Дорогой Игорь Евгеньевич! Я хочу поздравить Вас с вашим 60 летием, это незабываемая дата, так пусть она знаменует большие перемены в вашей жизни, чтоб она была немного проще, и благодатней, с днем рождения!
  • Дорогой Игорь Евгеньевич, в этот день хочу поздравить Вас с днём рождения!
    Пусть ваша жизнь окрасится новыми чудестными красками, и радует Вас так же, как та гирлянда горящая на окне.
    Искренне благодарю Вас, Игорь Евгениевич, за то, что заботитесь о нас.
    За то, что обращаете внимание и уделяете время.
  • Игорь Евгеньевич, в первую очередь хотелось бы выразить Вам огромную благодарность за Ваше терпение и труд, который Вы совершали на парах, пытаясь что-то вбить в наши головы. Хочу пожелать Вам здоровья, радости, успехов, ярких эмоций, нескучных будней и приятного общения. С днём рождения!
  • Уважаемый Игорь Евгеньевич! Хочу поздравить Вас с Днём Рождения, ПРЕПОДАВАТЕЛЯ с большой буквы, пожелать всего самого наилучшего и, конечно же, оставаться для студентов таким же позитивным проводником в мир программирования.
  • Игорь Евгеньевич! Поздравляю вас с юбилеем!!! Надеюсь, что вы и дальше останетесь таким же веселым преподавателем, каким являетесь сейчас. Хочу пожелать вам крепкого здоровья и хорошего настроения!
  • В этот день, ровно 264 года назад родился выдающийся композитор Вольфганг Амадей Моцарт. Он стал путеводной звездой для многих музыкантов и композиторов. А вы, Игорь Евгеньевич, не музыкант, а превосходный преподаватель, который так же стал для всех своих студентов путеводной звездой.
    Хочу пожелать Вам долгих лет жизни, здоровья и удачи!) Не теряйте своего оптимизма, заряжайте им всех окружающих и оставайтесь таким же Крутым, каким мы вас знаем!) Поздравляю вас с Юбилеем!!!
  • Игорь Евгеньевич, хочу поздравить Вас с Днём Рождения и пожелать, чтобы Вы ещё много лет продолжали делиться с нами опытом и знаниями. А вообще, главное в жизни — здоровье и счастье, поэтому это желаю Вам в первую очередь!)
  • С Днём Рождения!! Всего вам самого лучшего и яркого! Крепкого здоровья, счастья, удачи, достатка, вдохновения, солнечных дней и всегда отличного настроения 🙂 
  • Дорогой Игорь Евгеньевич, от всей души поздравляю Вас с Днём рождения! Желаю Вам оставаться таким же жизнерадостным, веселым, искренним, умным, понимающим и душевным человеком. Побольше радости, здоровья и счастья, а также успехов во всех Ваших начинаниях. Чтобы сбывались Ваши мечты и жизнь была наполнена яркими и запоминающимися моментами!
  • Игорь Евгеньевич! Поздравляю вас с днем рождения, хочу чтоб вам получилось реализовать свои планы и крепкого здоровья!
  • Поздравляю! Желаю поменьше багов как в кодах, так и в жизни, а если останутся — побольше сил на их исправление ;)И обязательно послушных приматов — чтобы работа приносила только удовольствие!)
  • Игорь Евгеньевич, поздравляю вас с юбилеем!) Желаю долгих лет жизни, счастья его семье, здоровья и терпения.
  • Игорь Евгеньевич, с днем рождения. Желаю Вам весёлых будней, занимательных историй, классных приключений и неиссякаемого энтузиазма! Побольше радостных открытий и просто приятного времяпровождения 🙂
  • Поздравляю Вас с Юбилеем!) Желаю, чтоб жизнь приносила одно лишь удовольствие!)
  • С Юбилеем!) Оставайтесь таким же веселым, позитивным и успехов во всех начинаниях:)
  • Игорь Евгеньевич, хочу вас поздравить с днем рождения и пожелать, чтобы вы оставались таким же крутым преподом. Спасибо, что читаете свой предмет в надежде на качественные, а не количественные знания. С днем рождения, Игорь Евгеньевич! 
  • Игорь Евгеньевич, от всей души поздравляю Вас с Днем Рождения!!! Желаю крепкого здоровья, сил, терпения, способных учеников и чтобы работа дарила Вам только положительные эмоции!

Все желающие и опоздавшие могут оставить свои поздравления под записью 🙂

Приматы. 1 курс. 27.01.2020

e-olymp 8891. Ровно одно условие из двух

Задача

Для заданного целого числа $n$ вывести YES, если выполняется ровно одно из следующих условий и NO в противном случае.

  • число $n$ четное.
  • число $n$ отрицательное и кратное трем.

Входные данные

Одно целое число $n$.

Выходные данные

Вывести YES или NO в зависимости от выполнения условий.

Тесты

 ВВОД ВЫВОД
 22  YES
 7  NO
 -30  NO
 -9  YES
 0  YES

Код (как делать можно, но не нужно)

Код (как делать можно и нужно)

Решение

Если оба условия выполняются или оба не выполняются, то нужно вывести «NO», а иначе  — «YES».

  • В первом случае проверяем четность числа $n$.
  • Во втором случае проверяем кратность трем и является ли $n$ отрицательным.
  • В обеих случаях исключаем варианты, когда оба условия могли бы выполнятся, то есть исключаем отрицательные числа и кратность трем для первого, и четность числа для второго случая.

Ссылки
e-olymp
ideone