![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
Alex |
![]()
Сообщение
#41
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Правильно видел!!
|
Romario |
![]()
Сообщение
#42
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну что заждались? ;) Вот и новая порция задачек!!!
Задача 1 Найти все натуральные числа от 1 до 200, у которых количество делителей равно К (К вводится с клавиатуры) Задача 2 Даны натуральное число N и последовательность A1, A2, …, A N, AN+1. Определить наибольшее из нечетных и количество четных чисел, входящих в последовательность A1, A2, …, A N, AN+1. Очень жду : ![]() |
mj |
![]()
Сообщение
#43
|
![]() Adminь ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Решение 1 задачки на Delphi:
Код procedure TForm1.Edit1Change(Sender: TObject); var D, F, C, R, T: Integer; begin ListBox1.Clear; // Очищаем список D := StrToIntDef(Edit1.Text, 0); for F := 1 to 200 do begin C := 0; T := F; while T<>1 do begin R := 2; while (T mod R)<>0 do Inc( r ); T := T div R; Inc( c ); end; if C=D then ListBox1.AddItem(IntToStr(F), nil); // Добавляем число в список end; end; |
big |
![]()
Сообщение
#44
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 12 Репутация: ![]() ![]() ![]() |
Цитата Big, у тебя по-моему ошибочка в проге: не for i:=2 to n do s:=s+n*10+2; а: for i:=2 to n do s:=s+i*10+2; Во как!!! Да согласен ошибка есть. Но в целом прога написана верно! -------------------- BIG_plus
|
Alex |
![]()
Сообщение
#45
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
На Пасе:
Код program delit; const n=200; var i,k,m,l,r:integer; begin write('Введите количество нужных делителей->'); readln(k); r:=0;m:=0; for i:=1 to n do begin for l:=1 to i do if l mod i=0 then m:=m+1; if m=k then r:=r+1; end; writeln('Кол-во чисел, у котор. кол-во делит =k равно->',r); readln end. Сразу говорю, что не проверял. |
Alex |
![]()
Сообщение
#46
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Так чуваки!!!Я малясь не то сделал.
Вот то что надо. Код program delit; const n=200; var i,k,m,l,r:integer;a:array [1..n] of integer; begin write('Введите количество нужных делителей->'); readln(k); r:=0;m:=0; for i:=1 to n do begin for l:=1 to i do if l mod i=0 then m:=m+1; if m=k then begin r:=r+1; a[r]:=i; end; end; writeln ('Вот числа, у которых кол-во делителей =k->'); for i:=1 to r do write(a[i],' '); readln end. Сразу говорю, что не проверял. |
Romario |
![]()
Сообщение
#47
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я не понимаю вот этого:
Цитата Сразу говорю, что не проверял. У вас времени не хватает переименовать txt в pas и нажать Ctrl + F9... Давайте проверять ;) Уж если не работает, но вы считаете алгоритм правильным, тогда постите, будем все вместе разбирать ![]() |
Alex |
![]()
Сообщение
#48
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Времени правдо нет.Заходишь, думаешь,что задача легкая, пишешь, а уж затем проверяешь.
|
Alex |
![]()
Сообщение
#49
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Мое решение неверно!!!
Пойду дорабатывать! |
Romario |
![]()
Сообщение
#50
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне бы в Паскале это всё :
![]() |
Romario |
![]()
Сообщение
#51
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Решение 1 задачки на Delphi: А можно теперь её же, но на Паскале : ![]() |
Romario |
![]()
Сообщение
#52
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
Кстати достал 2 книги:
С. А. Абрамов Е. В. Зима "Начала программирования на языке паскаль" Д. Прайс "Программирование на языке Паскаль" |
mj |
![]()
Сообщение
#53
|
![]() Adminь ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Цитата А можно теперь её же, но на Паскале : ![]() Конечно можно ![]() Код program D1; var D, F, C, R, T: Integer; begin Write('Введите количество нужных делителей: '); ReadLn(D); for F := 1 to 200 do begin C := 0; T := F; while T<>1 do begin R := 2; while (T mod R)<>0 do Inc( r ); T := T div R; Inc( c ); end; if C=D then Write(F, ' '); end; WriteLn; ReadLn; end. |
Piton |
![]()
Сообщение
#54
|
Гость ![]() |
Привет, Я коенчно не Ромарио, но один вопросик очень бесит - модуль CRT не работает на некоторых компах современных. Говорят есть какой-то add-on который эту неприятность сводит на нет. Ромарио, может ты уже с этим встречался и подскажешь где это чудо можно достать? А может ещё кто? Очень хочется. Заранее спасибо.
|
ClaneOffline |
![]()
Сообщение
#55
|
Гость ![]() |
Цитата Кстати достал 2 книги: С. А. Абрамов Е. В. Зима "Начала программирования на языке паскаль" Д. Прайс "Программирование на языке Паскаль" Пришли мне их на мыло, если они в электронном варианте. Мыло clane@km.ru |
Romario |
![]()
Сообщение
#56
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
Неееее ;D Книги в книжном варианте 8)
Спасибо за задачку, MJ, ща буду тестить... А как насчёт второй? : ![]() ![]() |
Romario |
![]()
Сообщение
#57
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 89 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня ещё к тебе вопрос, MJ. Ты тут кому-то задачку писал, дак вот мучает один вопрос, вот задачка:
Код var D, F, Z: Integer; begin D := StrToIntDef(Edit1.Text, 0); Z := 10; for F := 1 to D do begin while Z<=F do Z := Z*10; if ((F*F) mod Z)=F then WriteLn(F); end; end. Дак вот интересует вот эта строчка: D := StrToIntDef(Edit1.Text, 0); Это Паскаль? Если да, то по подробнее ;) Что значит. |
mj |
![]()
Сообщение
#58
|
![]() Adminь ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Нет, "D := StrToIntDef(Edit1.Text, 0);" это Delphi...
Обозначает она следующее: Берётся текст из текстовой строки введёной пользователем и извлекается число, в случае ошибки результат будет число 0 (в данном примере)... |
Alex |
![]()
Сообщение
#59
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 201 Репутация: ![]() ![]() ![]() |
Это не Паскаль,а Делфи.Там в этой задаче даже по-моему было написано, что на Делфи!!!
|
mj |
![]()
Сообщение
#60
|
![]() Adminь ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 803 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Я вообще то подумал и вспомнил что Delphi это разнавидность паскаля, так что пожно сказать, что это пасовский код ;D
|
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 5:16 |