| Автор | Цикл в С# |
if (sqrt(d) - modf(sqrt(d), &t)==0)
Вот так. Всё равно в проге не выводится значение g
Ты пробовал читать что пишу? или, например, подставлять значения?
1 - 0 =/= 0
1.4 - 0.4 =/0
...
условие никогда не будет true ! |
| Из корня числа 4, равного два, вычесть целую часть этого самого значения, то есть 2 не может быть равно 2? |
Из корня числа 4, равного два, вычесть целую часть этого самого значения, то есть 2 не может быть равно 2?
Во первых, если вычесть 2 из 2 то 2 никак уж не выйдет :/
Во вторых, modf - дробная часть (: |
Тьфу, там 0, ессесна.
Разве не целая? Тогда ясно |
я взяла за основу первоначальную идею. надо было всего лишь переводить во флоат при взятии корня, а так все переменные объявляются интом
в конце 3й страницы код, или вы пропустили? :O |
Я написал прогу, но на языке scheme
(define (zn x)
(if
(= (mod (* (sqrt x) 10) 10) 0)
"True" "False")
)
осталось перевести на си/си++/паскаль хз как... |
я взяла за основу первоначальную идею. надо было всего лишь переводить во флоат при взятии корня, а так все переменные объявляются интом
в конце 3й страницы код, или вы пропустили? :O
правда работает?)
if ( sqrt( (float)h ) * sqrt( (float)h ) == (float)h )
вот это?) по сути что там написано это что корень из числа в квадрате это то же самое число! оно будет выводить все числа в массиве) |
для Lokosios:
if(d==d - modf(sqrt(d), &t)
вот так пробовал? что пишет? |
| Ау, мою идею через остаток от деления кто-то рассматривал? |
работает
по сути что там написано это что корень из числа в квадрате это то же самое число!
я перед взятием корня перевожу во флоат, так что результат sqrt может быть нецелочисленным
например, корень 10=3.16227766016838
квадрат 3.16227766016838 явно не ровно 10 по знакам после запятой, так что такие нецелочисленные отбрасывает |
для Somefreeknight:
Вот, теперь заработала. Фууууф! Я уж думал, не доделаю сегодня. Все огромное спасибо за помощь! ;) |
| тема закрыта by Lokosios (2011-12-05 00:13:36) |
|---|