C++

Возведение числа в степень

Возвести, введенное с клавиатуры число, в степень n, степень тоже вводится с клавиатуры. Возведение в степень организовать с использованием циклов.
Примечание: не использовать функцию pow для нахождения степени. Результат работы программы показан на рисунке 1. Подсказка — используйте циклы, в частности — цикл for.


Рисунок 1 — Возведение числа в степень

Решение

// pow.cpp: определяет точку входа для консольного приложения.
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    cout << "Enter number: " << endl; // введите число
    int numb; // число возводимое в степень
    cin >> numb;
    cout << "Enter power: "; // введите степень
    int power;
    cin >> power;
    int count = 1; // переменная отвечающая за истинность условия цикла do while
    int power_numb = numb; // результат возведения числа в степень
    do
    {
        if (power == 0)
            power_numb = 1;
        else
            if (power != 1 && power > 0)
                power_numb = power_numb * numb; // возводим в степень
        count++; // инкремент переменной-счётчика
    } while ( power > count); // проверка условия цикла do while
    cout << "number = " << power_numb << endl; // печать возведённого числа в степень
    system("pause");
    return 0;
}


Предлагаю вам иное решение задачи возведения в степень. Огромное спасибо автору этого решения, кстати, — это пользователь нашего сайта platin. Итак, код программы смотрим ниже:

#include <stdio.h>
#include <iostream>
using namespace std;
 
int main(){
        setlocale (LC_ALL, "RUS");
        int a, n, rezult=1, i;
        cout<< "Введите возводимое в степень число: ";
        cin>>a;
        cout<< endl<< "Введите стень числа: ";
        cin>>n;
        for(i=0; i<n; i++)
                rezult *=a;
        cout<< endl<< "Результата возведения в степень "<<n<< " числа "<< a<< " = "<<rezult<< endl;
        return 0;
}


Могу сказать, что данный исходник немного меньше предыдущего, возведение в степень выполняется тоже через цикл, но, цикл for. Возможно не хватает парочки проверок, но в целом решение правильное.

Добавил очередное решение задачи возведения числа в степень, которое предоставил нам — Алексей Нестерчук. Код программы показан ниже:

#include <iostream>
using namespace std;
 
int main()
{
    int a, b, z;
    cout<< "Chislo: "<<endl;
    cin>>a;
    z = a;
    cout<<" Stepen: "<<endl;
    cin>>b;
    cout<<"--------"<<endl;
 
    for (int i = 1; i<b; i++ ){
        a = a * z;
        cout<<a<<endl;
    }
cin.get();
}


Пример работы последнего исходника. Особенность этого исходника в том, что возведение в степень отображается пошагово, это хорошо видно из примера. Поблагодарим Алексея Нестерчука за данный исходник.

Chislo:
2
Stepen:
10
--------
4
8
16
32
64
128
256
512
1024
Теги:
Возведение числа, степень
Добавлено: 25 Февраля 2015 20:54:56 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...