![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 19
|
![]()
Уважаемые программисты.
Изначально я прописала код, который просто рассчитывает делители, потом преподаватель попросил сделать так, чтобы писались по 2 делителя - самый левый и самый правый. Но после этого,а именно после того, когда я сделала программу, преподаватель добавил строчку writeln ('try',i) после которой помимо делителей пишутся остальные числа, которые программа перебирает. Удаление этой строчки не позволительна и преподаватель сказал, что мне надо изменить условие цикла, чтобы этот перебор не писался. Вся работа в Pascal. Вот программа: Код:
Последний раз редактировалось Stilet; 03.11.2010 в 08:26. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 18.08.2010
Сообщений: 140
|
![]()
ну скажем можно искать до round(N/2),
например для 50 не имеет смысла искать делители начиная с 26 - точно не найдем ![]() для 70-и с 36 точно можно не искать. То есть цикл достаточно сделать до N/2. может он это имел ввиду?
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
![]()
Можно попробовать так:
Код:
Хакинг - не преступление, а способ выживания.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 19
|
![]()
Я просто уже не знаю, куда можно ещё больше её улучшать.
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
![]() Цитата:
А 70 - делитель 70!
Хакинг - не преступление, а способ выживания.
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 07.10.2010
Сообщений: 43
|
![]()
самый левый - это поидее тот что первым найдется, а самый правый - это собсна само число, разве не так?
тогда надо сделать брейк цикла как только встретится первый делитель А если и не так (самый правый - самый большой, но отличный от самого числа), то можно после того как только найдет самый первый сделать обратный цикл.. Код:
Последний раз редактировалось Macmeprag; 02.11.2010 в 22:41. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 19
|
![]()
Macmeprag, если я использую break, тогда он попросит избавиться от него ( уж такие у него нравы ), т.е. у преподавателя. Программа у меня правильно работает, я просто не знаю, как от этих строчек избавиться, ведь если я её просто удалю - он вновь её напишет )
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 02.11.2010
Сообщений: 19
|
![]()
На счет лейблов - не знаю, но люди на курс старше до сих пор ему лабы сдают ... Поэтому я в печали. Если ему придёт в голову, что можно улучшить программу - то все, уловить его мысль очень сложно.
Последний раз редактировалось torah; 02.11.2010 в 22:50. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти все простые числа в заданном диапазоне | Nikita++ | Помощь студентам | 8 | 20.10.2010 20:05 |
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа | Woland-itn | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.03.2008 21:49 |