Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
abcdfg
3 / 3 / 0
Регистрация: 30.09.2013
Сообщений: 92
#1

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

08.10.2013, 22:27. Просмотров 744. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 22:27     В квадрат возводит,а в куб нет
Посмотрите здесь:

Как возвести числа в квадрат , куб (также в другие степени ) в с++? C++
C++ Написать функцию, которая возводит число в квадрат и извлекает корень из него
Для нечетных чисел начиная с 9743 неправильно возводит в степень C++
C++ Описать функцию возведения любого натурального числа n в куб без операции умножения, пользуясь следующим свойством: куб любого числа n равен
неправильно возводит в степень матрицу с++ C++
Создать функцию которая возводит число в квадрат, использовать принцип раздельной компиляции C++
C++ Программа, которая вычисляет квадрат и куб чисел от 0 до 10
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
Заблокирован
08.10.2013, 22:44     В квадрат возводит,а в куб нет #2
Возьми ручку, листок и запиши значения всех переменные после выполнения каждой строки.
Чумаков Антон
85 / 67 / 17
Регистрация: 07.03.2011
Сообщений: 168
08.10.2013, 22:46     В квадрат возводит,а в куб нет #3
Не совсем понял. Т.е. вам нужно, чтобы a было возведено в степень k?
Тогда у вас ошибка в 14-й строке. Каждый раз в цикле вы возводите результат предыдущей итерации в квадрат.
А нужно заранее определить единицей переменную результата и уже её домножать на a.
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
08.10.2013, 22:51     В квадрат возводит,а в куб нет #4
Цитата Сообщение от abcdfg Посмотреть сообщение
если написать 4 и 2 ответ 16 (то есть 4 в квадрате)
когда пишу 3 и 3 дает вообще не понятные цифры например 81
3*3=9
9*9=81
по моему вполне понятные цифры
Чумаков Антон
85 / 67 / 17
Регистрация: 07.03.2011
Сообщений: 168
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;
}
abcdfg
3 / 3 / 0
Регистрация: 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;
}

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

Это соответствует вашему заданию?
abcdfg
3 / 3 / 0
Регистрация: 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
и он дает совершенно не понятные ответы)
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
09.10.2013, 08:24     В квадрат возводит,а в куб нет #11
abcdfg, все прекрасно работает, первое число которое вы вводите это количество экспериментов! потом вводите само число и его степень. вот вывод программы
2 //кол-во экспериментов
5 //число
2 //степень
25 //результат
4 //число№2
3 //степень№2
64 //результат №2
Для продолжения нажмите любую клавишу . . .
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2013, 17:28     В квадрат возводит,а в куб нет
Еще ссылки по теме:

Написать программу, которая возводит число в соответствующую степень C++
C++ Найти квадрат (для целого) и куб (для вещественного числа)
Все элементы исходного массива, стоящие на нечетных местах, возвести в квадрат, на четных местах – в куб C++
Даны действительные числа А, В, С. Большее из них возвести в квадрат, "среднее"(по величине)- в куб, меньшее - C++
Программа не правильно возводит в степень C++

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

Или воспользуйтесь поиском по форуму:
abcdfg
3 / 3 / 0
Регистрация: 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


Все работает,почему дает ошибку?(
Yandex
Объявления
09.10.2013, 17:28     В квадрат возводит,а в куб нет
Ответ Создать тему
Опции темы

Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru