![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
DeMoN 911 |
![]()
Сообщение
#1
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 145 Регистрация: 15.3.2007 Из: Ростов-на-Дону Город: Ростов-на-Дону Учебное заведение: ФВТ Вы: школьник ![]() |
Подскажите, как правильно написать программу:
Условие: Найдите кол-во целых чисел, лежащих в интервале -100<=n<=100, при которых дробь (n^2-5n+6)/(2n-1) является целым числом. |
Ботаник |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 414 Регистрация: 1.3.2007 Город: Люберцы Вы: другое ![]() |
Выкладывайте свою программу, а мы постараемся поправить ошибки. Вы ведь уже что-то написали? Да?
|
DeMoN 911 |
![]()
Сообщение
#3
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 145 Регистрация: 15.3.2007 Из: Ростов-на-Дону Город: Ростов-на-Дону Учебное заведение: ФВТ Вы: школьник ![]() |
У меня получилась такая тема:
program cel; const n=100; var n1,i:integer; y:real; y1:integer; begin randomize; n1:=-100+random(201); y:=(n1*n1-5*n1+60)/(2*n1-1); y1:=0; for i:=-100 to n do if y mod 2 = 0 then y1:=y1+1; readln end. Че-то у меня комп не выдает правильность строки if y mod 2 = 0 then y1:=y1+1. Буду рад узнать почему. |
A_nn |
![]()
Сообщение
#4
|
Ассистент ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 720 Регистрация: 26.2.2007 Город: СПб Вы: преподаватель ![]() |
Что-то я не поняла ничего... Зачем randomize? И почему у Вас в цикле ничего не вычисляется?
Я, вообще-то, давно программированием не занималась. Может, там что-то изменилось за последнее время... |
Ботаник |
![]()
Сообщение
#5
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 414 Регистрация: 1.3.2007 Город: Люберцы Вы: другое ![]() |
Потому и не поняли, что понимать нечего. Просто набор операторов.
|
Ботаник |
![]()
Сообщение
#6
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 414 Регистрация: 1.3.2007 Город: Люберцы Вы: другое ![]() |
Вот алгоритм. На Паскаль самостоятельно перепишите. Требуемых чисел моя программа нашла 8.
Sub main() Dim k As Integer, j As Integer, n As Integer Dim y As Single k = 0 For n = -100 To 100 y = (n * n - 5 * n + 6) / (2 * n - 1) j = y If (j = y) Then k = k + 1 Next n Debug.Print "k="; k End Sub |
DeMoN 911 |
![]() ![]()
Сообщение
#7
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 145 Регистрация: 15.3.2007 Из: Ростов-на-Дону Город: Ростов-на-Дону Учебное заведение: ФВТ Вы: школьник ![]() |
Программа должна выглядеть так:
program cel; var k,n:integer; j:integer; y:real; begin for n:=-100 to 100 do k:=0; y:=(n*n-5*n+6)/(2*n-1); j:=y; if (j:=y) then k:=k+1; readln(n); writeln('Количество целых чисел=',k); readln end. Я прав ?!? |
A_nn |
![]()
Сообщение
#8
|
Ассистент ![]() ![]() ![]() ![]() Группа: Преподаватели Сообщений: 720 Регистрация: 26.2.2007 Город: СПб Вы: преподаватель ![]() |
Цитата if (j:=y) По-моему, тут двоеточие не надо (это же не присваивание). И тело цикла должно же быть как-то ограничено (где начало, где конец). |
Ботаник |
![]()
Сообщение
#9
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 414 Регистрация: 1.3.2007 Город: Люберцы Вы: другое ![]() |
Не прав. Я удалил Паскаль со своего компьютера и не могу проверить, но думаю эта программа, если и будет работать, то всегда будет выдавать ноль. Если подождёшь пару дней, я попробую найти у себя Паскаль и скину тебе работающую программу.
|
Ботаник |
![]()
Сообщение
#10
|
Аспирант ![]() ![]() ![]() Группа: Активисты Сообщений: 414 Регистрация: 1.3.2007 Город: Люберцы Вы: другое ![]() |
Program main;
Var k, n : Integer; y : real; Begin k := 0; For n := -100 To 100 do Begin y := (n * n - 5 * n + 6) / (2 * n - 1); If (Int(y) = y) Then k := k + 1; End; WriteLn('k=',k); End. |
DeMoN 911 |
![]()
Сообщение
#11
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 145 Регистрация: 15.3.2007 Из: Ростов-на-Дону Город: Ростов-на-Дону Учебное заведение: ФВТ Вы: школьник ![]() |
Всем огромное спасибо за помощь! (IMG:style_emoticons/default/smile.gif) (IMG:style_emoticons/default/biggrin.gif)
|
AlexDemche |
![]()
Сообщение
#12
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 83 Регистрация: 18.3.2007 Город: Казань Учебное заведение: Казанский Государственный Университет Вы: преподаватель ![]() |
Предлагаю более эффективный алгоритм сложности O(1):
Код Program main; Begin WriteLn('k=8'); End. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 26.5.2025, 4:51 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru