Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 22.11.2013, 21:31   #1
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию готовлюсь к олимпиаде по информатике

при вводе цифр 7 и 8 должен выдать 8000000
Код:
program bred;
uses crt;
var a,e,b,c,i,s,f,l,max:integer;
d:array[1..200] of integer;
begin
readln(a,b);
s:=0;
c:=1;
if a>1 then
for i:=1 to a-1 do
c:=c*10;
e:=c;
f:=c*10; writeln(c,f);
repeat
for i:=1 to a do
begin
l:=e mod 10;
e:=e div 10;
s:=s+l;
end;
if b=s then max:=c;
inc(c); s:=0;
e:=c;
until c=f;
writeln(max);
end.

долго думает, есть вариант, как сделать, что бы работала по быстрее?

Последний раз редактировалось Stilet; 23.11.2013 в 12:18.
salauat вне форума Ответить с цитированием
Старый 22.11.2013, 21:37   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Цитата:
долго думает, есть вариант, как сделать, что бы работала по быстрее?
Сначала хотя бы описать что оно вообще должно делать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.11.2013, 22:35   #3
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

упс, забыл.
Вася загадал натуральное число(не более 200 знаков) и сообщил Пете количество цифр в задуманном числе и их сумму. помогите выяснить, какое наибольшее число мог задумать Вася.
salauat вне форума Ответить с цитированием
Старый 22.11.2013, 22:43   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 5,861
По умолчанию

Например:
Код:
var
  n, m, i: integer;
begin
  readln(n, m);
  for i := 1 to n do
    if m > 9 then
    begin
      write(9);
      dec(m, 9);
    end else begin
      write(m);
      dec(m, m);
    end;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 22.11.2013, 22:45   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var s:string;
    d,sum:integer; 
    i,k:integer;
begin
d:=7;sum:=10;
s:='';
k:=1;
while sum>9 do
begin
sum:=sum-9;
s:=s+'9';
k:=k+1;
end;
s:=s+chr(sum+ord('0'));
k:=k+1; 
for i:=k to d do
s:=s+'0';
writeln(s);
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 22.11.2013, 22:50   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

У меня что-то похожее
Код:
  xCount:=17; //число цифр
  xSum:=76;   //сумма цифр
  s:='';
  for i:=1 to xCount do begin
    k:=Min(9,xSum);
    s:=s+IntToStr(k);
    Dec(xSum,k);
  end;
  // в s результат
Не помню есть там IntToStr, если что заменить на chr(k)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.11.2013, 06:33   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Не помню есть там IntToStr
Там - это где? В Turbo - нет...
В АБЦ - есть..
В Free - есть (только модуль SysUtils нужен)

Цитата:
если что заменить на chr(k)
Chr(k+48)

А можно
s := s * 10 + k..
Poma][a вне форума Ответить с цитированием
Старый 23.11.2013, 07:38   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Цитата:
Там - это где?
Придира. Если бы еще знал где, краем уха слышал что не везде, а так ни в одном из этих паскалей в жизни не писал. Бывает такое Про +48 забыл, тоже бывает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 23.11.2013 в 07:40.
Аватар вне форума Ответить с цитированием
Старый 23.11.2013, 09:31   #9
salauat
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 19
По умолчанию

pascal abc.
что то я вообще не могу разобраться в ваших программах.
salauat вне форума Ответить с цитированием
Старый 23.11.2013, 09:35   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Цитата:
готовлюсь к олимпиаде по информатике
Цитата:
что то я вообще не могу разобраться в ваших программах.
Тогда и на олимпиаде делать нечего
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подготовка к региональной олимпиаде New man Помощь студентам 20 14.12.2012 20:01
Гиа 2012 готовлюсь XYLIGAN72 Помощь студентам 10 14.01.2012 14:37
Задачи по олимпиаде Darick Помощь студентам 7 23.12.2011 14:45
Дали детям две задачки на олимпиаде по информатике O_O Каля-маля Помощь студентам 8 10.11.2008 17:29
Как подготовиться к олимпиаде? Kn793 Помощь студентам 16 26.07.2008 11:22


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS