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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2013, 22: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 в 13:18.
salauat вне форума Ответить с цитированием
Старый 22.11.2013, 22:37   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

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

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

Например:
Код:
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, 23: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, 23:50   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

У меня что-то похожее
Код:
  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, 07: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, 08:38   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

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

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

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

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


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

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

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


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