Язык не указан, 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; } Тут более простой реализации на другом известном мне языке нету, так что приводить дополнительно ничего не буду.
// PascalABC.Net 3.0, сборка 1066 var s,s1:string; i:integer; a:char; begin Write('Введите натуральное число любой длины :'); Readln(s); Write('Введите цифру, которую надо удалить: '); Readln(a); s1:=''; for i:=1 to Length(s) do if s[i]<>a then s1:=s1+s[i]; Writeln('Результат: ',s1) end.
Тестовый прогон: Введите натуральное число любой длины :3141592653589793 Введите цифру, которую надо удалить: 5 Результат: 3141926389793
2. Современное решение (так в школе почему-то не учат)
// PascalABC.Net 3.0, сборка 1066 begin var s:=ReadString('Введите натуральное число любой длины :'); var a:=ReadChar('Введите цифру, которую надо удалить: '); Write('Результат: ',s.Replace(a,'')); end.
сервер
Объяснение: