Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Определение счастливого числа! 
V
    Опции темы
Konstantiiin
  Дата 13.1.2007, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 9.12.2006

Репутация: нет
Всего: нет



Из N введенных с клавиатуры 6-ти значных чисел определить "счастливые" номера.
Ими считаются те числа у которых сумма первых трех чисел равна сумме вторых трех чисел.
Например: 123231 - счастливое!

Помогите! PLZ
PM MAIL   Вверх
doomik
Дата 13.1.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Одинокий волк
**


Профиль
Группа: Участник
Сообщений: 360
Регистрация: 25.10.2005
Где: #vingrad

Репутация: 3
Всего: 15



Код

program LuckyNum;
var { main }
   Number:longint;
    FUNCTION First3(N:longint):byte; { readln -> 1 2 3 4 5 6 } 
        var 
        Num1, Num2, Num3:byte;
        begin
            Num1 := N div 100000; {1}
            Num2 := ( N mod 100000 ) div 10000; {2}
            Num3 := ( N mod 10000 ) div 1000; {3}
            First3:= Num1 + Num2 + Num3; { Передаем сумму первых 3  чисел функции }
        end;
    
    FUNCTION Last3(N:longint):byte; 
        var
        Num1, Num2, Num3:byte;
        begin
            Num1 := ( N mod 1000 ) div 100; {4}
            Num2 := ( N mod 100 ) div 10; {5}
            Num3 := N mod 10; {6}
            Last3:= Num1 + Num2 + Num3; { Передаём сумму последних 3 чисел функции  }
        end;

begin { main }

   writeln('Enter number:');
   readln(Number);
   while Number <> 0 do
    begin
        if ( First3(Number) = Last3(Number) ) then { Проверяем если первые 3 и последние 3 числа равны }
            writeln(Number,' is lucky number!');
        writeln('Enter number:');
        readln(Number);
    end;
readln;
end.


или с помощи цикла for 
добавляем в var { main }:
Код

var { main }
    Number, N, I:longint;


и заменяем предыдущий { main } на этот код:
Код

begin { main program }
    writeln('Enter N:');
    readln(N);

    for I:= 1 to N do
        begin
            writeln('Enter number:');
            readln(Number);
            if ( First3(Number) = Last3(Number) ) then  { Проверяем если первые 3 и последние 3 числа равны }
                writeln(Number,' is lucky number!');
        end;
readln;
end.



--------------------
"Единственный способ изучать новый язык программирования - писать на нем 
программы." 
- Brian Kernighan

Remember, st1ng3r 
/server irc.ircline.ru /j #vingrad
PM   Вверх
volvo877
Дата 13.1.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 34
Всего: 116



Или обходимся вообще одной функцией:
Код

function get_s(n: integer): integer;
var _result: integer;
begin
  _result := 0;
  while n > 0 do begin
    _result := _result + (n mod 10);
    n := n div 10;
  end;
  get_s := _result;
end;

var n: longint;
begin
  write('n = '); readln(n);
  if get_s(n mod 1000) = get_s(n div 1000) then writeln('yes')
  else writeln('no');
end.

PM MAIL   Вверх
Konstantiiin
Дата 13.1.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 9.12.2006

Репутация: нет
Всего: нет



Спосибо большое!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.