C/C++

Задача G «Счастливый билет»

Вы пользуетесь общественным транспортом? Вероятно, вы расплачивались за проезд и получали билет с номером. Счастливым билетом называют такой билет с шестизначным номером, где сумма первых трех цифр равна сумме последних трех. Т.е. билет с номером 385916 – счастливый, т.к. 3+8+5=9+1+6. Вам требуется написать программу, которая проверяет счастливость билета.
#include <iostream>
using namespace std;
bool happy(unsigned n) {
auto a = n / 100000 + n / 1000 % 10 + n / 10 % 10;
auto b = n / 10000 % 10 + n / 100 % 10 + n % 10;
return a == b;
}
int main() {
cout << "Ticket: ";
unsigned ticket;
cin >> ticket;
if (ticket < 100000 || ticket > 999999) exit(0);
puts(happy(ticket) ? "Happy!" : "Oops!");
system("pause > nul");
}
*suhrob 88Tj
*suhrob 88Tj
85 390
Лучший ответ
а чё ты нам задачи ставишь? на начальника учишься? ну так хреновая из тебя начальника... глупая и ленивая начальника...
Давно всё это есть решенное в нете, а для вас должно быть интересно это решать... а если нет, то я не знаю, зачем вы этим занимаетесь
#include <iostream>
using namespace std; int s(int x)
{ return x / 100 + x / 10 % 10 + x % 10; }
bool happy(int x) { return
(s(x / 1000) == s(x % 1000)) ? true : false; }
int main() { int n; cout << "n » "; cin >> n; cout
<< ((happy(n)) ? "happy\n" : "unhappy\n"); }
Евгений Орлов
Евгений Орлов
29 440
Тебя интересуют функции остатка от деления.
остаток от деления числа на 10 - 6.
и т. д