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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2016, 10:08   #1
Pontiy
Новичок
Джуниор
 
Регистрация: 25.01.2016
Сообщений: 2
По умолчанию Нужно написать программу, которая будет проверять, является ли 1 цифра четырехзначного числа суммой остальных трех цифр

Напишите, пожалуйста, программу, которая будет проверять, является ли 1 цифра четырехзначного числа суммой остальных трех цифр.

Последний раз редактировалось Вадим Мошев; 25.01.2016 в 15:10.
Pontiy вне форума Ответить с цитированием
Старый 25.01.2016, 10:18   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
является ли 1 цифра четырехзначного числа
одна цифра или первая цифра?

вот решение для первого (более сложного) варианта.
Код:
var d,n, maxD, sumD :integer;
begin
  ReadLn(n);
  n:=abs(n);
  maxD := 0; sumD := 0;
  While n>0 do begin
    digit:=n mod 10; 
    n:=n div 10;
    sumD := sumD + digit;
    if digit>maxD then maxD:=digit 
  end;
  if (sumD-maxD)=maxD then WriteLn('является') else WriteLn('нет, не является')
end.

p.s. код условия IF для проверки 1-й цифры и суммы 2-й, 3-й и 4-й цифр можно написать в одну строчку...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.01.2016, 10:24   #3
Pontiy
Новичок
Джуниор
 
Регистрация: 25.01.2016
Сообщений: 2
По умолчанию

Для первой.
Pontiy вне форума Ответить с цитированием
Старый 25.01.2016, 10:32   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

n div 1000 даст первую цифру
((n div 100) mod 10) даст вторую цифру
((n div 10) mod 10) даст третью цифру
n mod 10 даст четвёртую цифру

Надеюсь, написать код для суммирования и проверки хватит знаний и умений?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.01.2016, 18:25   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Вариант для числа с любым кол-вом цифр, влезающих в размер типа.
Код:
function fuckit(x: dword): boolean;
var
  z: dword;
begin
  if x < 10
    then exit(true);

  z:= 0;
  repeat
    inc(z, x mod 10);
    x:= x div 10;
  until x < 10;
  
  Result:= x = z;
end;
Ахтунг! Аттеншн! Внимание! Увага!!! SHIT-CODE detected!!! Не отлаживал, писал на заборе!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык си: написать программу которая будет автоматизировать каталог МахычD Помощь студентам 0 10.12.2014 22:30
Написать программу, которая будет считывать последовательность слов и расставлять их по алфавиту (с++) bl@ndo$ Помощь студентам 2 29.05.2012 07:41
Можно ли написать программу которая будет работать в Windows и Linux Arassir Qt и кроссплатформенное программирование С/С++ 2 27.10.2011 23:35
Возможно ли написать такую программу которая будет решать уравнение ? Anizotrop Помощь студентам 3 28.09.2011 13:49
Написать программу, которая будет использовать ранее созданную библиотеку. sanya94 Общие вопросы C/C++ 3 19.02.2011 00:58