Реализовал на си++ этот алгоритм, но возникают проблемы с табуляцией. Т.е при больших числах а и b верхние результаты танциют в таблице. Пожалуйста помогите наладить табуляцию, чтобы таблица получалась красивой 1956306151__euclide_II.cpp
EvilsInterrupt printf тебе поможет: Код (Text): for(int i=0;i<32;i++) printf("2^%2d =% 11lu\n",i,1UL<<i);
EvilsInterrupt Output Formatting. ps какое отношение "Алгоритм Эвклида!" имеет к "помогите наладить табуляцию"?
=) Совсем какая-то фигня на Θоруме :-( Код (Text): // Euclide.js var title = WScript.ScriptName.replace(/.js/i,''); var IE = new ActiveXObject ('InternetExplorer.Application'); IE.navigate("about:blank"); IE.toolbar = IE.statusbar = 0; IE.visible = true; while( IE.Busy ){} var form = IE.Document; form.open; form.write('<html><head><title>'+title+'</title></head><body><font face=system>'); form.write('<form>Enter numbers'); form.write('<p>a: <input type="text" size="10" maxlength="12" name="a]'); form.write('  b: <input type="text" size="10" maxlength="12" name="b] '); form.write('<button onclick="document.Ok=true; document.a=a.value; document.b=b.value]'); form.write('Ok</button></form>'); try { while( ! form.Ok ){} form.write('<table border=1><caption>results</caption>'); form.write('<tr><th>iteration<th>a<th>b<th>r'); var r, i = 0; var a = form.a; var b = form.b; do { r = a % b; form.write('<tr><td>'+ ++i +'<th>'+ a +'<th>'+ b +'<td>'+ r); a = b; b = r; } while( r > 1 ); form.write('</table><br>r(end) = '+ r); form.write('<br>gcd(end) = '+ (r ? r : a) ); form.write('<br><br><button onclick="document.Close=true]Close</button></body></html>'); try { while( ! form.Close ){} IE.Quit(); } catch(e){} } catch(e){} PS парсер  _ повыкидывал
В рассширенной версии этого алгоритма есть возможность найти такие числа u,v при которых выполнится равенство: av+bu=d, где d - есть НОД Как правило по началу необходимо предположить что u-1 = 1, u0 = 0, v0 = 0 v-1 = 1 если смотреть это по Коутинхо. Чем это вызвано? Почему не наоборот v0,u0 =1,u-1,v-1=0 ?
Спасибо помолчали, буду помирать никто и руки не подаст. Ладно понял все тонкости этого расширения, а такбы мучился! Если кто решил изучать теорию чисел, то настоятельно советую Коутинхо, т.к. там даже мат.неподготовленный имеет все шансы познать хотя бы азы! Володя: Если эта книга фри, а линк я те давал, то это книгу имеет смысл выложить на сайте, она лучше Сизова , дает понять теорию чисел, а я бы сказал глубже. К примеру сравни как объяснено нахождение a*u + b*v = gcd(a,d), u,v = ? И увидишь ощутимую разницу.
Блин, Сизый вообще не объясняет твой расширенный алгоритм, куда ты так упрямо лезешь. А где ты там увидел глубокую теорию - я не очень понимаю. Да, конечно, можно приплести нахождение обратного элемента и подвести глубокую базу по кольцам, но зачем?
т.к. там даже мат.неподготовленный имеет все шансы познать хотя бы азы! ты, со своими талантами, имеешь все шансы свести с ума любого, кто пытается разобраться в твоей писанине - именно поэтому никто и не пытается ответить.
>"советую Коутинхо" && "она лучше Сизова" && "я бы сказал глубже". По моему ты читаешь скоростным методом, ведь привел Автора книги, о ней говорю, а вопросы возникают. Отдохни, устал поди. >u-1 = 1? т.е. u = 2? ты здоров, алгоритмист? я задавал вопрос,почему не так! А не утверждал,видно же
volodya На самом деле имеется в виду: u<sub>-1</sub>=1, u<sub>0</sub>=0, v<sub>0</sub>=0, v<sub>-1</sub>=1