![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Дан одномерный целочисленный массив.
Найти сумму элементов массива, являющихся точными квадратами. Как это можно сделать ?? Есть какие нибудь идеи???? |
#2
|
|||
|
|||
![]() Идти в цикле по массиву, и если результат функции sqrt есть целый, то складывать в какую-нить переменную.
|
#3
|
|||
|
|||
![]() Я так же делала, но информатик сказал ,что надо как то по другому....
|
#4
|
|||
|
|||
![]() А как? Честно проверять через возведение в квадрат? Можно, конечно, и так, но этом, ИМХО, изврат и лишнее время при выполнении. Но если хочешь - напиши функцию вида:
Код:
function IsWholeSquare(N : Integer) : Boolean; var I, J : Integer; begin Result := False; I := 1; J := 1; While J < N Do Begin J := I * I; Result := J = N; If Result Then Break; Inc(I); End; end; И проверяй "квадратичную целостность" через нее. Но это лишний код. |
#5
|
|||
|
|||
![]() да это слишком долго........
а как грамотно записать вот эту фразу по отношению к массиву, думаю что у меня проблема именно в этом - "если результат функции sqrt есть целый" Последний раз редактировалось Asira, 18.12.2009 в 23:55. |
#6
|
|||
|
|||
![]() Код:
if Frac(Sqrt(X)) = 0 then ... |