Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
abcdfg
3 / 3 / 4
Регистрация: 30.09.2013
Сообщений: 92
#1

В квадрат возводит,а в куб нет - C++

08.10.2013, 22:27. Просмотров 824. Ответов 11
Метки нет (Все метки)

Код
# include <stdio.h>

int k,T;

int a;

int main() {

scanf("%d",&T);
while(T--){

scanf("%d %d", &a &k);
while (k>1){
a = a * a;
}
print ("%d\n",a)}

return 0;
}
В чем ошибка
если написать 4 и 2 ответ 16 (то есть 4 в квадрате)
когда пишу 3 и 3 дает вообще не понятные цифры например 81

Помогите разобраться вот условие задачи

Для заданного целого а и натурального k вычислить ak.

Input

В первой строке записано количество Т тестов. В каждой из последующих Т строк записаны два числа, разделенных пробелом: a и k (-32000 < a ≤ 32000, 0 < k ≤ 32000).

Output

Для каждого тестового случая вывести в отдельную строку единственное число ak. Гарантируется, что ответ не превосходит по модулю 261-1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 22:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В квадрат возводит,а в куб нет (C++):

Написать функцию, которая возводит число в квадрат и извлекает корень из него
Простейшая программа, которая возводит число в квадрат и извлекает корень из...

Создать функцию которая возводит число в квадрат, использовать принцип раздельной компиляции
Создать функцию которая возводит число в квадрат. Использовать принцип...

Программа, которая вычисляет квадрат и куб чисел от 0 до 10
#include &lt;iostream&gt; using namespace std; int main() { setlocale(0, &quot;&quot;);...

Как возвести числа в квадрат , куб (также в другие степени ) в с++?
помогите пожалуйста )

Найти квадрат (для целого) и куб (для вещественного числа)
ПОМОГИТЕ ПОЖАЛУЙСТА РАЗОБРАТЬСЯ С КОДОМ, ТОЧНЕЕ С ФУНКЦИЕЙ,КОТОРАЯ ЭТО...

Все элементы исходного массива, стоящие на нечетных местах, возвести в квадрат, на четных местах – в куб
как будет код не знаете? Дано два массива байтов, один заполнен числами....

11
zer0mail
2451 / 2085 / 216
Регистрация: 03.07.2012
Сообщений: 7,566
Записей в блоге: 1
08.10.2013, 22:44 #2
Возьми ручку, листок и запиши значения всех переменные после выполнения каждой строки.
0
Чумаков Антон
85 / 67 / 18
Регистрация: 07.03.2011
Сообщений: 169
08.10.2013, 22:46 #3
Не совсем понял. Т.е. вам нужно, чтобы a было возведено в степень k?
Тогда у вас ошибка в 14-й строке. Каждый раз в цикле вы возводите результат предыдущей итерации в квадрат.
А нужно заранее определить единицей переменную результата и уже её домножать на a.
0
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
08.10.2013, 22:51 #4
Цитата Сообщение от abcdfg Посмотреть сообщение
если написать 4 и 2 ответ 16 (то есть 4 в квадрате)
когда пишу 3 и 3 дает вообще не понятные цифры например 81
3*3=9
9*9=81
по моему вполне понятные цифры
0
Чумаков Антон
85 / 67 / 18
Регистрация: 07.03.2011
Сообщений: 169
08.10.2013, 23:00 #5
Мой вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int k,T;
int a;
int P = 1;
 
int main()
{
    scanf("%d",&T);
    while(T--)
    {
 
        scanf("%d %d", &a, &k);
        while (k > 0)
        {
            P = P * a;
            k--;
        }   
        printf("%d\n",P);
        P = 1;  // Сброс результата
    }
    return 0;
}
0
abcdfg
3 / 3 / 4
Регистрация: 30.09.2013
Сообщений: 92
08.10.2013, 23:19  [ТС] #6
Цитата Сообщение от Чумаков Антон Посмотреть сообщение
Мой вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
int k,T;
int a;
int P = 1;
 
int main()
{
    scanf("%d",&T);
    while(T--)
    {
 
        scanf("%d %d", &a, &k);
        while (k > 0)
        {
            P = P * a;
            k--;
        }   
        printf("%d\n",P);
        P = 1;  // Сброс результата
    }
    return 0;
}

твой вариант вообще не рабочий(
0
Чумаков Антон
85 / 67 / 18
Регистрация: 07.03.2011
Сообщений: 169
08.10.2013, 23:22 #7
Цитата Сообщение от abcdfg Посмотреть сообщение
твой вариант вообще не рабочий(
Странно, у меня работает.
Не рабочий - это как: не компилируется или работает неправильно?
0
abcdfg
3 / 3 / 4
Регистрация: 30.09.2013
Сообщений: 92
08.10.2013, 23:27  [ТС] #8
Цитата Сообщение от Чумаков Антон Посмотреть сообщение
Странно, у меня работает.
Не рабочий - это как: не компилируется или работает неправильно?
работает неправильно(
может ты где то ошибку допустил когда копировал ?
0
Чумаков Антон
85 / 67 / 18
Регистрация: 07.03.2011
Сообщений: 169
08.10.2013, 23:45 #9
Ничего не понимаю...
Нет, ошибок при копировании не появилось.
После старта своего варианта ввожу количество тестов, равное, допустим, 2.
Затем через пробел ввожу пару 4 и 2 - программа выводит в следующей строке 16 (т.е. 4 в квадрате).
Далее ввожу пару "3 3" (без кавычек). Программа выводит 27 (3 в 3-й) и тут же завершает работу, обработав заданное число тестов (т.е. 2).

Это соответствует вашему заданию?
0
abcdfg
3 / 3 / 4
Регистрация: 30.09.2013
Сообщений: 92
09.10.2013, 08:06  [ТС] #10
Цитата Сообщение от Чумаков Антон Посмотреть сообщение
Ничего не понимаю...
Нет, ошибок при копировании не появилось.
После старта своего варианта ввожу количество тестов, равное, допустим, 2.
Затем через пробел ввожу пару 4 и 2 - программа выводит в следующей строке 16 (т.е. 4 в квадрате).
Далее ввожу пару "3 3" (без кавычек). Программа выводит 27 (3 в 3-й) и тут же завершает работу, обработав заданное число тестов (т.е. 2).

Это соответствует вашему заданию?
Попробуй написать
4 3
или
5 2
и он дает совершенно не понятные ответы)
0
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
09.10.2013, 08:24 #11
abcdfg, все прекрасно работает, первое число которое вы вводите это количество экспериментов! потом вводите само число и его степень. вот вывод программы
2 //кол-во экспериментов
5 //число
2 //степень
25 //результат
4 //число№2
3 //степень№2
64 //результат №2
Для продолжения нажмите любую клавишу . . .
0
abcdfg
3 / 3 / 4
Регистрация: 30.09.2013
Сообщений: 92
09.10.2013, 17:28  [ТС] #12
Цитата Сообщение от newb_programmer Посмотреть сообщение
abcdfg, все прекрасно работает, первое число которое вы вводите это количество экспериментов! потом вводите само число и его степень. вот вывод программы
2 //кол-во экспериментов
5 //число
2 //степень
25 //результат
4 //число№2
3 //степень№2
64 //результат №2
Для продолжения нажмите любую клавишу . . .

да все работает)

одно не пойму,почему сервер куда мне надо отправлять задачи,дает ошибку что решено не верно ?

Вот условие
Для заданного целого а и натурального k вычислить ak.

Input

В первой строке записано количество Т тестов. В каждой из последующих Т строк записаны два числа, разделенных пробелом: a и k (-32000 < a ≤ 32000, 0 < k ≤ 32000).

Output

Для каждого тестового случая вывести в отдельную строку единственное число ak. Гарантируется, что ответ не превосходит по модулю 261-1

Примеры

Входные данные Результат работы
2
1 1
2 3
1
8


Все работает,почему дает ошибку?(
0
09.10.2013, 17:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2013, 17:28
Привет! Вот еще темы с решениями:

Даны действительные числа А, В, С. Большее из них возвести в квадрат, "среднее"(по величине)- в куб, меньшее -
Даны действительные числа А, В, С. Большее из них возвести в квадрат,...

Описать функцию возведения любого натурального числа n в куб без операции умножения, пользуясь следующим свойством: куб любого числа n равен
То есть {1}^{3}=1 {2}^{3}=3+5 {3}^{3}=7+9+11 Написала программу на С++...

Программа не правильно возводит в степень
Есть задача, перевернуть число. Программа работает, но вместо последней цифры...

Неправильно возводит в степень матрицу
неправильно возводит в степень матрицу не знаю может алгоритм неверный) ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru