Найти цифры числа можно двумя 1. Если число короткое можно пользоваться div и mod, т.е. например, 1-я цифра 3-значного числа - это целое от деления на 100, третья цифра - остаток от деления на 10, чтобы найти вторую цифру надо сначала взять целое от деления на 10 и потом остаток от деления этого целого на 10. 2. Если число длинное или его длина неизвестна, то лучше преобразовать его в строку, найти длину строки и брать по одному символу с соответствующим индексом.
writeln ('Введите число, которое будем возводить в степень');
readln (a);
writeln ('Введите число, обозначающее степень, в которую будем возводить');
readln (b);
Writeln (a,' в степени ',b,' = ',exp(b*ln(a)));
end.
Извиняюсь за неправильный ответ. Не увидел, что вам нужно с циклом. Тогда лучше так...
Program vozvedenie_v_stepen; var a,b,c,d:integer; begin writeln ( 'Введите число, которое будем возводить в степень' ); readln (a); c:=a; writeln ( 'Введите число, обозначающее степень, в которую будем возводить'); readln (b); for d:= 2 to b do a:=a*c; if b=0 then writeln(1) else writeln (c,' в степени ',b,' = ',a); end.
1. Если число короткое можно пользоваться div и mod, т.е. например, 1-я цифра 3-значного числа - это целое от деления на 100, третья цифра - остаток от деления на 10, чтобы найти вторую цифру надо сначала взять целое от деления на 10 и потом остаток от деления этого целого на 10.
2. Если число длинное или его длина неизвестна, то лучше преобразовать его в строку, найти длину строки и брать по одному символу с соответствующим индексом.
Блок-схема первого варианта на фото
Я бы написал по другому
Program vozvedenie_v_stepen;
var a,b:integer;
begin
writeln ('Введите число, которое будем возводить в степень');
readln (a);
writeln ('Введите число, обозначающее степень, в которую будем возводить');
readln (b);
Writeln (a,' в степени ',b,' = ',exp(b*ln(a)));
end.
Извиняюсь за неправильный ответ. Не увидел, что вам нужно с циклом. Тогда лучше так...
Program vozvedenie_v_stepen;
var a,b,c,d:integer;
begin
writeln ( 'Введите число, которое будем возводить в степень' );
readln (a);
c:=a;
writeln ( 'Введите число, обозначающее степень, в которую будем возводить');
readln (b);
for d:= 2 to b do
a:=a*c;
if b=0 then
writeln(1)
else
writeln (c,' в степени ',b,' = ',a);
end.