n
, степень тоже вводится с клавиатуры. Возведение в степень организовать с использованием циклов.Примечание: не использовать функцию pow
для нахождения степени. Результат работы программы показан на рисунке 1. Подсказка — используйте циклы, в частности — цикл for.
Enter number:
2
Enter power: 10
number = 1024
Рисунок 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
Комментарии
Сергей Цысь
Немного исправил
Сергей Цысь