Помогите пожалуйсто разобраться с циклами

s_S_s

Member
Joined
Jul 15, 2006
Messages
42
Reaction score
0
Age
41
Location
Астана
Дано действительное число n. Вычислить:
2^n
Все перепробовал
невыходит не чего
procedure TForm1.Button1Click(Sender: TObject);
var
r,i,n,s,r1:integer;
begin
//s:=0;
i:=1;
r:=1;
n:=strtoint(Edit1.text);
While i<=n do begin
//if i=1 then
//showmessage('2 â â n-îé ñòåïåíè ðàâíî 1');

//s:=s+i;
i:=i+1;
r:=2*2;
showmessage('2 в n-ой степени равно ' +inttostr(r1));
r1:=r+r;
end;

//showmessage('2 в n-ой степени равно ' +inttostr(r1));

// end;

end;

end.
 

a.n.onim

Member
Joined
Oct 26, 2004
Messages
98
Reaction score
13
Молодой человек, извините, но у Вас явные проблемы с математикой, судя по Вашим постам. Может начнете с ее изучения?
По существу: 2^0 = 1, 2^1 = 2; 2^n=2*2*...*2 - n раз. В цикле, исходя из этого, r=r*2.

While i<=n do
begin
r:=r*2;
showmessage('2 в ' i '-ой степени равно ' +inttostr(r));
i:=i+1;
end;
 

s_S_s

Member
Joined
Jul 15, 2006
Messages
42
Reaction score
0
Age
41
Location
Астана
Молодой человек, извините, но у Вас явные проблемы с математикой, судя по Вашим постам. Может начнете с ее изучения?
По существу: 2^0 = 1, 2^1 = 2; 2^n=2*2*...*2 - n раз. В цикле, исходя из этого, r=r*2.

While i<=n do
begin
r:=r*2;
showmessage('2 в ' i '-ой степени равно ' +inttostr(r));
i:=i+1;
end;

С математькои я знаю что у меня проблемы но с этим я уже разобрался, осталось правельно цикл построить.
то что вы написали к сожелению не работает. Извеняюсь если что не так.
 

s_S_s

Member
Joined
Jul 15, 2006
Messages
42
Reaction score
0
Age
41
Location
Астана
Молодой человек, извините, но у Вас явные проблемы с математикой, судя по Вашим постам. Может начнете с ее изучения?
По существу: 2^0 = 1, 2^1 = 2; 2^n=2*2*...*2 - n раз. В цикле, исходя из этого, r=r*2.

While i<=n do
begin
r:=r*2;
showmessage('2 в ' i '-ой степени равно ' +inttostr(r));
i:=i+1;
end;

решил наконецто через оператор фор во:

var
i,n,r:integer;

begin
n:=strtoint(Edit1.text);
i:=0;
r:=2;
for i:=1 to n-1 do
r:=r*2;
showmessage('2 n-oй степени равно' +inttostr(r));
i:=i+1;
end;


end.
 

van4ello

Member
Joined
Nov 12, 2005
Messages
69
Reaction score
14
Location
ukraine
Можно еще вот так:
Code:
var
i,n,r:integer;
begin
n := StrToInt(Edit1.text);
r := 0;
for i:=0 to n-1 do begin
power(r,i);
showmessage('2 n-oй степени равно' +inttostr(r));
                            end;
end;
 

y.victor

Member
Joined
Jul 19, 2004
Messages
57
Reaction score
14
Можно еще вот так:
Code:
var
i,n,r:integer;
begin
n := StrToInt(Edit1.text);
r := 0;
for i:=0 to n-1 do begin
power(r,i);
showmessage('2 n-oй степени равно' +inttostr(r));
                            end;
end;

а ДАВАЙТЕ УСЛОЖНИМ ЗАДАЧУ...
Подсчитаем с точностью до 1 зерна на шахматной доске =
2^64 - 1...

Была такая девняя задачка..
 

Bodom

Member
Joined
Apr 17, 2004
Messages
276
Reaction score
84
Age
54
Location
Харьков Украина
оеэуй лчимлефпм беоец мнеочпмо рмо ам:

var
i,n,r:integer;

begin
n:=strtoint(Edit1.text);
i:=0;
r:=2;
for i:=1 to n-1 do
r:=r*2;
showmessage('2 n-oх ъпенелу очалм' +inttostr(r));
i:=i+1;
end;
end.

>>>>>i:=i+1; Ыпя ъпомбия лчдм яюочпщ. А фуийе For ? лейщцз келзпщ неоекелляв фуийч
 
Last edited by a moderator:

y.victor

Member
Joined
Jul 19, 2004
Messages
57
Reaction score
14
to y.victor:

Можно и 2^100 :)

Например, используя GInt (http://www.submanifold.be/triade/GInt/gint.html).

А без Гинты? Попробуй - интересно будет.. Но только не округленно, а с точностью до единицы..

Еще вот задачка.. Сколько всего бывает счастливых билетов..
Счастливый это кода первые 3 цифры равны в сумме последним 3 цифрам..
654933, 381426, к примеру...

И вот еще.. Правда не совсем в тему, но интересно..

y + x^2 = 31
x + y^2 = 41

система уравнений.. Ясно, что х=5, у=6.. Но.. попробуйте алгебраически решить..:D
 

Unsiker

Member
Joined
Feb 19, 2007
Messages
40
Reaction score
0
Age
40
Location
lol
А вот еще маленькая задачка:
Дано два числа а,b они чему то равны (например а=5, b=10 ). Надо поменять ихние значения без использования дополнительной переменной (Тоесть а дожно равнятся 10, а b = 5).
 

ploki

Member
Joined
May 16, 2005
Messages
237
Reaction score
180
Location
Москва
to Unsiker

a := a Xor b;
b := b Xor a;
a := a Xor b;

Есть хорошая книжка на эту тему: "Жемчужины программирования".

to y.victor

Как давно это было. Занимательная комбинаторика. Ностальгия!
Когда начинаешь заниматься комбинаторикой профессионально, на такие задачки смотришь совсем по-другому...
Сколько всего неизоморфных абелевых полурегулярных груп порядка 128? Шутка.

А GInt я привёл как пример библиотеки поддержки больших целых чисел (в int64 ведь не влезет). Алгоритм вычисления - это другое дело.
 
Top