Другие языки программирования и технологии

Помогите решить задачу по информатике.

"Счастливым" называется четырехзначный номер билета, у которого сумма первых двух чисел равна сумме двух последних. Надо определить для числа является ли он "счастливым" (алгоритм)
Входные данные: Одно число N, не превышающее 9999
Выходные - или YES или NO, в зависимости от того, является ли билет счастливым.
— ввести четыре символа (или четырёхсимвольную строку)
— получить 1 сумму как код 1 символа + код 2 символа
— получить 2 сумму как код 3 символа + код 4 символа
— если 1 сумма = 2 сумме, значит номер счастливый
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
P.S. Корректировать код символа к цифре не нужно!
(Типа «ord(Ch)-48» )
Николай Михалев
Николай Михалев
71 294
Лучший ответ
Алгоритм: 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();}
Будем делить число на 4 цифры: ABCD, само число — X. Примем, что / — деление без остатка (паскальный div), % — остаток от деления на число
A = X / 1000
B = (X % 1000) / 100
C = (X % 100) / 10
D = X % 10
Остаётся только сравнимежду собой A+B и C+D
Рагулин Валера
Рагулин Валера
88 219
более шустрый вариант, используя принципы челочисленных переменных (С++)

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) и их складываешь, дальше тупо сравниваешь
Roman Chabanov
Roman Chabanov
3 842
Владимир Толстов просто алгоритм, без языка. Если бы был язык, сам бы сделал. Программу изи написать
Владимир Толстов Спс. Не скажешь как выразить остаток в алгоритме?
for( int i = 0; i < 4; i++, n /= 10 ) s[ i / 2 ] += n % 10;
return s[ 0] == s[ 1 ];
Рагулин Валера i = 1
s[0.5] ? Странный индекс. Но JavaScript примет и такой. В строку преобразует скорее всего. Результат для 1524 — false;