int num,r,sum=0,t;
Console.Write(«Введите пятизначное число: «);
num = Convert.ToInt32(Console.ReadLine());
if(num>9999 num <100000)
for(t=num;num!=0;num=num/10)
r=num % 10;
sum=sum*10+r;
>
if(t==sum)
Console.Write($» является палиндромом.»);
else
Console.Write($» не является палиндромом.»);
> else
Console.Write(«Введите пятизначное число! «);
Пояснение:
Интересная задача, но все высчитывается с помощью математики. К справке. Палиндром — это число, буквосочетание, слово или текст, одинаково читающееся в обоих направлениях.
Источник: blablacode.ru
Задача «Високосный год»
Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES, иначе выведите NO. Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.
Напишите программу, проверяющую число, введенное с клавиатуры на четность. Домашнее задание. C++ #2.
Решение задачи от разработчиков на Python:
Copy to Clipboard
Другие интересные реализации задачи:
Copy to Clipboard
Смотреть видео — Задача «Високосный год» решение на Python
Делитесь с друзьями ссылкой на ответ и задавайте вопросы в комментариях!
Источник: pyanswer.site
Решение задач на С++
Задача A. Максимум из двух чисел
Даны два целых числа, каждое число записано в отдельной строке. Выведите наибольшее из данных чисел.
- int a,b;
- cin>>a>>b;
- if (a>b )
- cout
- else
- cout
Задача B. Високосный год
Требуется определить, является ли данный год високосным. (Напомним, что год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.)
- int y;
- cin>>y;
- if (y%4==0 y%100!=0 || y%400==0)
- cout
- else
- cout
Задача C. Тестирующая система
В условии одной из задач на этом сайте написано: “Если данное четырехзначное число является симметричным, выведите 1, иначе выведите любое другое целое число”. Для проверки задачи используются заранее подготовленные примеры и правильные ответ на них. Школьнику кажется, что он решил эту задачу, но тестирующая система почему-то не принимает его решение. Школьник думает, что это происходит оттого, что он выводит не то любое другое число, которое записано в правильных ответах.
Напишите программу, которая по ответу, записанному в тестирующей системе и по ответу школьника определяет, верно ли школьник решила задачу. Программа получает на вход два числа: ответ, записанный в тестирующей системе и ответ школьника. Программа должна вывести YES, если школьник дала верный ответ и NO в противном случае.
- int n1,n2;
- cin>>n1>>n2;
- if ((n1!=1 n2!=1) || (n1==1 n2==1))
- cout
- else
- cout
Задача D. Знак числа
В математике функция sign(x) (знак числа) определена так:
sign(x) = 1, если x > 0,
sign(x) = -1, если x < 0,
sign(x) = 0, если x = 0.
Для данного числа x выведите значение sign(x).
- int n;
- cin>>n;
- if (n>0)cout
- if (n <0)cout<<-1;
- if (n==0)cout
Задача E. Какое из чисел больше?
Даны два целых числа, каждое записано в отдельной строке. Программа должна вывести число 1, если первое число больше второго, число 2, если второе больше первого, или число 0, если они равны.
- int n1,n2;
- cin>>n1>>n2;
- if (n1>n2 )cout
- if (n2>n1 )cout
- if (n1==n2 )cout
Задача F. Максимум из трех
Даны три числа, каждое записано в отдельной строке. Выведите наибольшее из данных чисел (программа должна вывести ровно одно целое число).
- int n1,n2,n3;
- cin>>n1>>n2>>n3;
- if (n1
- n1=n2;
- if (n1
- n1=n3;
- cout
Задача G. Ладья
Требуется определить, бьет ли ладья, стоящая на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке. Вводятся четыре числа: координаты ладьи (два числа) и координаты другой фигуры (два числа), каждое число вводится в отдельной строке.
- int x1,y1,x2,y2;
- cin>>x1>>y1>>x2>>y2;
- if (x1==x2 || y1==y2)
- cout
- else
- cout
Задача не требует дополнительных условий, что шахматная доска не может быть больше 8х8, и фигуры не могут находиться в одной клетке.
Задача H. Слон
Требуется определить, бьет ли слон, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке. Вводятся четыре числа: координаты слона и координаты другой фигуры.
- int x1,y1,x2,y2;
- cin>>x1>>y1>>x2>>y2;
- int dx = x1 — x2;
- int dy = y1 — y2;
- if (dx < 0) dx = -dx;
- if (dy < 0) dy = -dy;
- if (dx == dy)
- cout
- else
- cout
Задача не требует дополнительных условий, что шахматная доска не может быть больше 8х8, и фигуры не могут находиться в одной клетке.
Задача I. Ферзь
Требуется определить, бьет ли ферзь, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке. Вводятся четыре числа: координаты ферзя и координаты другой фигуры.
- int x1,y1,x2,y2;
- cin>>x1>>y1>>x2>>y2;
- int dx=x1-x2;
- int dy=y1-y2;
- if (dx <0) dx=-dx;
- if (dy <0) dy=-dy;
- if (x1==x2 || y1==y2 || dx==dy)
- cout
- else
- cout
Задача не требует дополнительных условий, что шахматная доска не может быть больше 8х8, и фигуры не могут находиться в одной клетке.
Задача J. Король
Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматный король попасть с первой клетки на вторую за один ход.
Даны 4 целых числа от 1 до 8 каждое, первые два задают начальную клетку, вторые два задают конечную клетку. Начальная и конечная клетки не совпадают. Числа записаны в отдельных строках. Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую, или NO в противном случае.
- int x1,y1,x2,y2;
- cin>>x1>>y1>>x2>>y2;
- int dx = x1 — x2;
- int dy = y1 — y2;
- if (dx < 0) dx = -dx;
- if (dy < 0) dy = -dy;
- if (dx + dy == 1)
- cout
- else
- if (dx + dy == 2 dx == 1 dy == 1)
- cout
- else
- cout
Задача не требует дополнительных условий, что шахматная доска не может быть больше 8х8, и фигуры не могут находиться в одной клетке.
Задача K. Конь
Требуется определить, бьет ли конь, стоящий на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке. Вводятся четыре числа: координаты коня и координаты другой фигуры.
- int x1,y1,x2,y2;
- cin>>x1>>y1>>x2>>y2;
- int dx = x1 — x2;
- int dy = y1 — y2;
- if (dx < 0) dx = -dx;
- if (dy < 0) dy = -dy;
- if ((dx+dy)==3 dx!=0 dy!=0)
- cout
- else
- cout
Задача L. Шоколадка
Требуется определить, можно ли от шоколадки размером n × m долек отломить k долек, если разрешается сделать один разлом по прямой между дольками (то есть разломить шоколадку на два прямоугольника). Вводятся 3 числа: n, m и k; k не равно n × m. Гарантируется, что количество долек в шоколадке не превосходит 30000.
Задача M. Фишки
В каждую крайнюю клетку квадратной доски поставили по фишке. Могло ли оказаться, что выставлено ровно k фишек? (Например, если доска 2 x 2, то выставлено 4 фишки, а если 6 x 6 — то 20).
Вводится одно натуральное число k.
- int k;
- cin>>k;
- if (k%4==0 || k==1)
- cout
- else
- cout
Задача N. Уравнение
Решить в целых числах уравнение ax + b = 0. Вводятся 2 числа: a и b. Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.
- int a,b;
- cin>>a>>b;
- if (a==0 b==0)
- cout
- else
- if ( a==0 || b%a!=0)
- cout
- else
- cout
Задача O. Сложное уравнение
Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0. Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно. Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.
- int a,b,c,d;
- cin>>a>>b>>c>>d;
- if (a==0 b==0)
- cout
- else
- if ( a==0 || b%a!=0 || c*(-b/a)+d==0)
- cout
- else
- cout
Задача P. Сдача
Товар стоит a руб. b коп. За него заплатили c руб. d коп. Сколько сдачи требуется получить? Вводятся 4 числа: a, b, c и d. Необходимо вывести 2 числа: e и f, число рублей и копеек, соответственно.
- int r1,k1,r2,k2;
- cin>>r1>>k1>>r2>>k2;
- int rRes = r2 — r1;
- int kRes = k2 — k1;
- if (kRes < 0)
- kRes += 100;
- rRes—; // rRes = rRes — 1;
- >
- cout
Задача Q. Мороженое
В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого?
- int k;
- cin>>k;
- if (k!=1 k!=2 k!=4 k!=7 )
- cout
- else
- cout
Задача R. Котлеты
На сковородку одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет? Вводятся 3 числа: k, m и n.
- int res = 0;
- if (n
- res = 2 * m;
- >
- else
- res = 2 * n / k * m;
- if (2 * n % k !=0)
- res += m;
- >
- cout
Задача S. Координатные четверти
Даны координаты двух точек на плоскости, требуется определить, лежат ли они в одной координатной четверти или нет (все координаты отличны от нуля). Вводятся 4 числа: координаты первой точки (x1, y1) и координаты второй точки (x2, y2).
- int x1,y1,x2,y2;
- cin>>x1>>y1>>x2>>y2;
- if (x1*x2>0 y1*y2>0)
- cout
- else
- cout
Задача T. Существует ли треугольник?
Даны три натуральных числа a, b, c, записанные в отдельных строках. Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку YES, иначе выведите строку NO.
- int a,b,c;
- cin>>a>>b>>c;
- if ( b + c > a c + a > b b + a > c)
- cout
- else
- cout
Задача U. Количество равных из трех
Даны три целых числа, записанных в отдельных строках. Определите, сколько среди них совпадающих.
Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадают) или 0 (если все числа различны).
- int a,b,c;
- cin>>a>>b>>c;
- if (a == b b == c)
- cout
- else
- if (a == b || b == c || a == c)
- cout
- else
- cout
Задача V. Квадратное уравнение
Найдите все решения квадратного уравнения ax2 + bx + c = 0.
Вводятся действительные числа a, b, c, a не равно 0.
Выведите два действительных числа, если уравнение имеет два корня, одно действительное число – при наличии одного корня. При отсутствии действительных корней ничего выводить не нужно.
- double a,b,c;
- cin>>a>>b>>c;
- double d,x1,x2;
- d=b*b-4*a*c;
- if (d>=0)
- x1=(-b+sqrt(d))/(2*a);
- printf( «%0.8fn» ,x1);
- if (d>0)
- x2=(-b-sqrt(d))/(2*a);
- printf( «%0.8fn» ,x2);
- >
- >
Задача W. Тип треугольника
Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами. Даны три натуральных числа – стороны треугольника.
Необходимо вывести одно из слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника.
- int a,b,c;
- cin>>a>>b>>c;
- if (a>b) swap(a,b);
- if (b>c) swap(b,c);
- if (a>b) swap(a,b);
- if ((b+c)>a (c+a)>b (b+a)>c)
- if (c*c == a*a + b*b)
- cout
- else if (c*c < a*a + b*b)
- cout
- else
- cout
- >
- else
- cout
- int n;
- cin>>n;
- if ( n%10==0 || (n%10>=5 n%10<=9)||(n>=11 n <=14))
- cout
- else
- if (n%10==1)
- cout
- else
- cout
Задача Y. Билеты на метро
Билет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.
Дано одно число n — количество поездок. Выведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок.
- const int cost1 = 15, cost10 = 125, cost60 = 440;
- int n, k1, k10, k60;
- cin >> n;
- k60 = n / 60;
- n %= 60;
- k10 = n / 10;
- k1 = n % 10;
- if (k1 * cost1 > cost10)
- k1 = 0;
- k10++;
- >
- if (k1 * cost1 + k10 * cost10 > cost60)
- k1 = 0;
- k10 = 0;
- k60++;
- >
- cout
Задача Z. Билеты на метро – 2
Билет на одну поездку в метро стоит 15 рублей, билет на 5 поездок стоит 70 рублей, билет на 10 поездок стоит 125 рублей, билет на 20 поездок стоит 230 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.
Дано одно число n — количество поездок. Выведите пять целых чисел, равные необходимому количеству билетов на 1, на 5, на 10, на 20, на 60 поездок. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок.
- const int cost1 = 15, cost5 = 70, cost10 = 125, cost20 = 230, cost60 = 440;
- int n, k1, k5, k10, k20, k60;
- cin >> n;
- k60 = n / 60;
- n %= 60;
- k20 = n / 20;
- n %= 20;
- k10 = n / 10;
- n %= 10;
- k5 = n/5;
- k1 = n % 5;
- if (k1 * cost1 >= cost5)
- k1 = 0;
- k5++;
- >
- if (k1 * cost1 + k5 * cost5 >= cost10)
- k1 = 0;
- k5 = 0;
- k10++;
- >
- if (k1 * cost1 + k5 * cost5 + k10 * cost10 >= cost20)
- k1 = 0;
- k5 = 0;
- k10 = 0;
- k20++;
- >
- if (k1 * cost1 + k5 * cost5 + k10 * cost10 + k20 * cost20 >= cost60)
- k1 = 0;
- k5 = 0;
- k10 = 0;
- k20 = 0;
- k60++;
- >
- cout
Задача AA. Координаты соседей
Для клетки с координатами (x, y) в таблице размером M × N выведите координаты ее соседей. Соседними называются клетки, имеющие общую сторону.
Даны натуральные числа M, N, x, y (1 ≤ x ≤ M ≤ 109, 1 ≤ y ≤ N ≤ 109). В выходной файл выведите пары координат соседей этой клетки в произвольном порядке.
- int m,n,x,y;
- cin>>m>>n>>x>>y;
- if (x!=1) cout
- if (x!=m) cout
- if (y!=1) cout
- if (y!=n) cout
Задача AB. Апельсины бочками
Бизнесмен Василий после прочтения известной книги решил открыть новый бизнес – отгружать апельсины бочками. Партнерам важно знать сколько именно бочек апельсинов отгружается каждый день. Мобильный телефон Василия поддерживает только транслит, поэтому он передает сообщения вида «N bochek» . Например, «3 bochki» или «1 bochka» .
Напишите программу, которая выбирает правильное слово (из «bochka» , «bochek» , «bochki» ) в зависимости от N (0 ≤ N ≤ 1000).
- int n;
- cin>>n;
- cout
- if ( n%10==0 || (n%10>=5 n%10<=9)||(n%100>=11 n%100 <=14))
- cout
- else
- if (n%10==1)
- cout
- else
- cout
Задача AC. Четные и нечетные числа
Даны три целых числа A, B, C. Определить, есть ли среди них хотя бы одно четное и хотя бы одно нечетное.
A, B, C не превышают по модулю 10000. Вывести – «YES» или «NO» .
- int a,b,c;
- cin>>a>>b>>c;
- a=abs(a);
- b=abs(b);
- c=abs(c);
- if ((a%2 != b%2)|| (a%2!= c%2) )
- cout
- else
- cout
Задача AD. Римская система счисления
Дано число X (1 ≤ X ≤ 100). Требуется перевести это число в римскую систему счисления.
- int x;
- cin>>x;
- int x1,x10;
- x1=x%10;
- x10=x/10;
- if (x10==1) cout
- if (x10==2) cout
- if (x10==3) cout
- if (x10==4) cout
- if (x10==5) cout
- if (x10==6) cout
- if (x10==7) cout
- if (x10==8) cout
- if (x10==9) cout
- if (x10==10) cout
- if (x1==1) cout
- if (x1==2) cout
- if (x1==3) cout
- if (x1==4) cout
- if (x1==5) cout
- if (x1==6) cout
- if (x1==7) cout
- if (x1==8) cout
- if (x1==9) cout
Задача AE. Упорядочить три числа
Дано три числа, записанный в отдельных строках. Упорядочите их в порядке неубывания. Программа должна считывать три числа a, b, c, затем программа должна менять их значения так, чтобы стали выполнены условия a
- int a,b,c,t;
- cin>>a>>b>>c;
- if (a>b) swap(a,b);
- if (a>c) swap(a,c);
- if (b>c) swap(b,c);
- cout
Источник: cpptasksolver.blogspot.com