С Новым годом! Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
1

Довести программу до ума

17.12.2015, 21:06. Показов 1976. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! В задании написано: составить программу для вычисления степеней чисел вида an, если a>maxint, n>10. Я попробовал создать программу, наисправлял, но результат не тот, что нужен. В выводе пишет, что любое число в любой степени равняется нулю. Что я делаю не так? Помогите пожалуйста.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var 
    i, a, n, z: integer;
begin
    writeln('введите число: ');
    readln(a);
    writeln('введите степень: ');
    readln(n);
    if (a> maxint) and (n > 10) then
    for i:=1 to n do
    z:=a*n;
    writeln(a,' в степени ',n,' = ',z);
    end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2015, 21:06
Ответы с готовыми решениями:

Нужно довести программу до ума
помогите с кодом. uses crt { uses список использумых модулей,библиотека}{cathod ray tube...

Необходимо довести прогу до ума (окно вывода crt и блокировка ввода)
Всем привет. Прошу помочь в следующей проге: uses crt; var m: integer; sum, sum1:...

Довести программу до ума
Разработайте алгоритм и программу, реализующую этот алгоритм. Основные функции программы оформите в...

помогите довести до ума несложную программу (файлы)
Здравствуйте, уважаемые! Дана след задача: Программа - записная книжка использует следующие...

14
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
17.12.2015, 21:13 2
Потому что это задание на длинную арифметику.
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
17.12.2015, 22:49  [ТС] 3
Это значит, что она должна быть очень длинной, так?)
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2015, 08:57 4
Это значит что основание степени, и результат должны быть массивами или строками. Почитайте про длинную арифметику.
0
318 / 208 / 162
Регистрация: 08.12.2015
Сообщений: 863
18.12.2015, 09:32 5
Формула степеней немного не такая, и вы не задали значение maxint. И величина переменной integer тоже может ограничить ваши расчеты.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var 
    i, a, n, z: integer;
begin
    writeln('введите число: ');
    readln(a);
    writeln('введите степень: ');
    readln(n);
    z:=1;
    if (a> maxint) and (n > 10) then
    for i:=1 to n do
    z:=a*z;
    writeln(a,' в степени ',n,' = ',z);
    end.
1
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2015, 09:46 6
Цитата Сообщение от capricornus CF Посмотреть сообщение
if (a> maxint)
И Вы умеете вводить числа типа integer большие чем maxint?

Добавлено через 7 минут
Смотрите умножение длинных чисел, ибо нам нужно в цикле
Pascal
1
2
3
res:=osn;
for i:=n-1 do
умножить res на osn
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
18.12.2015, 15:44  [ТС] 7
Я посмотрел и умножение, и арифметику, но как-то оно непонятно все. :/
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2015, 15:52 8
Цитата Сообщение от Drednoyt Посмотреть сообщение
Я посмотрел
Молодец. И предлагаешь нам написать это за тебя?
0
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
18.12.2015, 16:52  [ТС] 9
Ну, мне даже неудобно стало, нет.

Добавлено через 44 минуты
Но мне больше не к кому обратиться за помощью, как к тебе. Я рискну предположить, что ты человек, который много-чего понимает в этом деле.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2015, 16:57 10
Слушай, я не посмотрел что это раздел АВС.net. В нем есть тип BigInteger целый неограниченный, можно использовать его, но я плохо знаю АВС.net.
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
18.12.2015, 17:11  [ТС] 11
И на этом спасибо, попробую доделать.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2015, 17:14 12
Лучший ответ Сообщение было отмечено Drednoyt как решение

Решение

Как-то так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var a,res:biginteger;
    s:string;
    n,i:integer;
begin
writeln('Введите основание степени целое число больше ',maxint);
readln(s);
biginteger.tryparse(s,a);
write('Введите показатель степени n>10 n=');
readln(n);
res:=1;
for i:=1 to n do
res:=res*a;
write(res);
end.
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
18.12.2015, 17:19  [ТС] 13
Боже мой, она работает! Спасибо тебе огромное. Впредь, надеюсь, у меня не будет подобных проблем.
Моих благодарностей мало, но это все, что я могу.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.12.2015, 17:25 14
Оказывается можно еще проще
Pascal
1
res:=power(a,n);
Добавлено через 1 минуту
Не знают только как отнесется препод к отсутствию длинной арифметики если он рассчитывал на нее.
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 7
18.12.2015, 17:30  [ТС] 15
Нет, про длинную арифметику она не рассказывала вообще, так что не думаю, что проблемы будут.
Спасибо тебе снова, ты наш спаситель.
0
18.12.2015, 17:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2015, 17:30
Помогаю со студенческими работами здесь

Надо довести до ума, прога пашет
Ребят помогите дописать программу выводит результат по 2 раза, что тока не использовал ставил кучу...

Довести до ума программу
Вот задание: Запросить стороны треугольника и определить, является ли он разносторонним,...

Довести до ума программу
Прощу помощи в завершении программы. Сформировать квадратную матрицу для n=20 по заданному образцу...

Довести до ума программу тестирования
Имеется вот такой код. При открытии 4-й формы стоит button2.PerformClick(); Но я не учел, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru