"Счастливым" называется четырехзначный номер билета, у которого сумма первых двух чисел равна сумме двух последних. Надо определить для числа является ли он "счастливым" (алгоритм)
Входные данные: Одно число N, не превышающее 9999
Выходные - или YES или NO, в зависимости от того, является ли билет счастливым.
Другие языки программирования и технологии
Помогите решить задачу по информатике.
— ввести четыре символа (или четырёхсимвольную строку)
— получить 1 сумму как код 1 символа + код 2 символа
— получить 2 сумму как код 3 символа + код 4 символа
— если 1 сумма = 2 сумме, значит номер счастливый
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
P.S. Корректировать код символа к цифре не нужно!
(Типа «ord(Ch)-48» )
— получить 1 сумму как код 1 символа + код 2 символа
— получить 2 сумму как код 3 символа + код 4 символа
— если 1 сумма = 2 сумме, значит номер счастливый
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
P.S. Корректировать код символа к цифре не нужно!
(Типа «ord(Ch)-48» )
Алгоритм: 1) вводим запись числа 2) складываем однозначные числа, представленные первой и второй цифрами 3) складываем однозначные числа, представленные первой и второй цифрами 4) сравниваем полученные суммы на равенство и печатаем результат
#include "iostream"
using namespace std;
int main(){
char s[5]; cin>>a; cout<<boolalpha<<(a[0]+a[1]==a[2]+a[3])<<endl;
cin.get(); cin.get();}
#include "iostream"
using namespace std;
int main(){
char s[5]; cin>>a; cout<<boolalpha<<(a[0]+a[1]==a[2]+a[3])<<endl;
cin.get(); cin.get();}
Будем делить число на 4 цифры: ABCD, само число — X. Примем, что / — деление без остатка (паскальный div), % — остаток от деления на число
A = X / 1000
B = (X % 1000) / 100
C = (X % 100) / 10
D = X % 10
Остаётся только сравнимежду собой A+B и C+D
A = X / 1000
B = (X % 1000) / 100
C = (X % 100) / 10
D = X % 10
Остаётся только сравнимежду собой A+B и C+D
более шустрый вариант, используя принципы челочисленных переменных (С++)
int n;//допустим число 1234
// при n /100 получим 12, при n%100 получим 34
if(n/100 = n%100){std::cout << "YES!" << endl;}
else std::cout << "NO" << endl;
---------
ой тут же суммы считать надо
int n;//допустим число 1234
// при n /100 получим 12, при n%100 получим 34
if(n/100 = n%100){std::cout << "YES!" << endl;}
else std::cout << "NO" << endl;
---------
ой тут же суммы считать надо
Хорошо бы еще язык указать.
а так:
берешь первые 2 цифры (остаток от деления на 10 и на 100), складываешь их, берешь еще 2 цифры (остаток от деления на 1000 и 10000) и их складываешь, дальше тупо сравниваешь
а так:
берешь первые 2 цифры (остаток от деления на 10 и на 100), складываешь их, берешь еще 2 цифры (остаток от деления на 1000 и 10000) и их складываешь, дальше тупо сравниваешь
Владимир Толстов
просто алгоритм, без языка. Если бы был язык, сам бы сделал. Программу изи написать
Владимир Толстов
Спс. Не скажешь как выразить остаток в алгоритме?
for( int i = 0; i < 4; i++, n /= 10 ) s[ i / 2 ] += n % 10;
return s[ 0] == s[ 1 ];
return s[ 0] == s[ 1 ];
Рагулин Валера
i = 1
s[0.5] ? Странный индекс. Но JavaScript примет и такой. В строку преобразует скорее всего. Результат для 1524 — false;
s[0.5] ? Странный индекс. Но JavaScript примет и такой. В строку преобразует скорее всего. Результат для 1524 — false;
Похожие вопросы
- Народ, слезно прошу помочь решить задачу по информатике (програмирование), я просто ноль в этом(((
- Помогите решить задачу по информатике 10 класс
- Помогите решить задачи по информатике!!! ОЧЕНЬ НУЖНО!!!
- Ребята помогите решить задачу по информатике ПЛАЧУ 50 БАЛОВ ЗА ЛУТШИЙ ОТВЕТ
- помогите решить задачи по информатике
- Помогите решить задачи по информатике.
- Помогите решить задачи по информатике.
- помогите решить задачу по информатике, срочно нужно ( программирование с++)
- Помогите решить задачу по информатике ...паскаль
- Помогите решить задачу по информатике. Массивы. Язык программирования Паскаль.