Язык не указан, Default-Language это C. На нём и напишу. 1. #include <stdio.h> int main() { int n; scanf("%d", &n); if (n % 10 == 4 || n % 10 == 7 || n / 10 == 4 || n / 10 == 7) printf("YES\n"); else printf("NO\n"); return 0; } Для порядку скажу что на Perl это можно реализовать проще. #!perl %h { 4 => 0, 7 => 0}; <>; if (exists $h{$_%10} || exists $h{$_/10}) { print "YES\n"; else { print "NO\n"; } Но мы ушли от темы. Итак, 2. Тут всё ещё проще: #include <stdio.h> int main() { int n; scanf("%d", &n); if (!(n % 3)) printf("Multiple of 3\n"); else printf("Not multiple of 3\n"); if (n % 10 == 3) printf("Ends by 3\n"); else printf("Not ends by 3\n"); return 0; } Тут более простой реализации на другом известном мне языке нету, так что приводить дополнительно ничего не буду.
Сначала массив Dat заполняется числами 2, 8, 6, ..., 7. Затем производится поиск максимума среди Dat[1], Dat[8..12] (стандартный алгоритм: в m хранится текущий максимум, в month – номер месяца, в котором этот максимум впервые реализуется. Перед циклом m = Dat[1], month = 1, в цикле если элемент массива больше текущего максимума, то текущий максимум и номер месяца перезаписываются). Наконец, выводится month – номер месяца, в котором впервые количество детских праздников достигает максимума.
Максимальное значение равно 8, впервые встречается среди Dat[1], Dat[8..12] в Dat[9].
1.
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n % 10 == 4 || n % 10 == 7 || n / 10 == 4 || n / 10 == 7)
printf("YES\n");
else
printf("NO\n");
return 0;
}
Для порядку скажу что на Perl это можно реализовать проще.
#!perl
%h { 4 => 0, 7 => 0};
<>;
if (exists $h{$_%10} || exists $h{$_/10}) {
print "YES\n";
else {
print "NO\n";
}
Но мы ушли от темы. Итак, 2. Тут всё ещё проще:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
if (!(n % 3))
printf("Multiple of 3\n");
else
printf("Not multiple of 3\n");
if (n % 10 == 3)
printf("Ends by 3\n");
else
printf("Not ends by 3\n");
return 0;
}
Тут более простой реализации на другом известном мне языке нету, так что приводить дополнительно ничего не буду.
Затем производится поиск максимума среди Dat[1], Dat[8..12] (стандартный алгоритм: в m хранится текущий максимум, в month – номер месяца, в котором этот максимум впервые реализуется. Перед циклом m = Dat[1], month = 1, в цикле если элемент массива больше текущего максимума, то текущий максимум и номер месяца перезаписываются).
Наконец, выводится month – номер месяца, в котором впервые количество детских праздников достигает максимума.
Максимальное значение равно 8, впервые встречается среди Dat[1], Dat[8..12] в Dat[9].
ответ: 9.