Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 14:07   #1
BeaU
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 35
По умолчанию Помогите, пожалуйста, с прогой на счастливое число)

Определить, являеться ли заданое число счастливым(Счастливым называеться такое шестизначное число, что сумма его первых трех цифр равна сумме его последних трех цифр)?
BeaU вне форума Ответить с цитированием
Старый 04.06.2009, 14:18   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

А так не катит????
Код:
if ((chislo div 1000) = (chislo mod 1000)) then Writeln('Число счастливое')
else Writeln ('Число не счастливое');
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.06.2009, 14:45   #3
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
А так не катит????
Код:
if ((chislo div 1000) = (chislo mod 1000)) then Writeln('Число счастливое')
else Writeln ('Число не счастливое');
нет, не катит. ибо число может быть, например 123321 - оно счастливое, но div его равен 123 а mod 321. кароче твоя версия катит только если первые три символа соответственно равны последним трем. А они могут быть разбросаны

решение - http://programmersforum.ru/showthread.php?t=53020
Skyrazor вне форума Ответить с цитированием
Старый 29.02.2016, 19:58   #4
AgentParanoidDroid
Новичок
Джуниор
 
Регистрация: 02.02.2016
Сообщений: 2
По умолчанию

Смотри, общий подход такой, ты можешь взять отдельно в переменные каждую цифру твоего числа. Затем сложить первые три числа и вторые три числа и сравнить их. Остаток от деления на 10 даст тебе последнюю цифру. Если число поделить на 10 и снова взять остаток от деления на 10 то получишь предпоследнюю. И так далее. Я нашел хороший пример проверки на счастливое число, но он на C#, зато можно уловить общий принцип. Плюс в исходнике есть более сложный пример, как проверить счастливое ли число в не зависимости от количества цифр.
AgentParanoidDroid вне форума Ответить с цитированием
Старый 29.02.2016, 20:41   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Код:
{$TELEPATOR_MODE ON}

function IsHappyNumber(const ANumber: DWORD): Boolean; inline; 
var
  a, b: Word;
begin
  a:= ANumber div 1000;
  b:= ANumber mod 1000;
  Result:= (a div 100) + ((a mod 100) div 10) + (a mod 10) =
           (b div 100) + ((b mod 100) div 10) + (b mod 10);
end;

{$TELEPATOR_MODE OFF}
Ахтунг! Аттеншн! Внимание! Увага!!! SHIT-CODE detected!!! Не отлаживал, писал на заборе!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 29.02.2016 в 20:54.
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с прогой на basic пожалуйста Petr1K Помощь студентам 7 19.05.2009 19:38
Люди помогите пожалуйста срочно с прогой!!! Corleon13 Общие вопросы C/C++ 1 23.02.2009 19:17
помогите пожалуйста с прогой в Ассемблере avtor Помощь студентам 4 04.06.2008 08:00