c++编程计算x的n次方 c++递归计算x的n次方

\u7528C++\u7f16\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u6c42x\u7684n\u6b21\u65b9\uff0cx\uff0cn\u7531\u952e\u76d8\u8f93\u5165

\u6ee1\u610f\uff0c\u6c42\u91c7\u7eb3\uff01

#include

double foo(int n,double x)
{
if(1==n)
{
return x;
}
else
{
if(n%2==0)
return foo(n/2,x*x);
else
return x*foo((n-1)/2,x*x);
}
}




void main()
{
int n;
double x;
cin>>x>>n;
cout<<foo(n,x)<<endl;
}

\u6539\u4e86\u4e00\u4e9b\u9519\u540e\u53ef\u4ee5\u5b9e\u73b0\u6c42x^n\u529f\u80fd\u4e86

power(5,2)这个是在求5的二次方,while(n--)是为了循环两次,让val*=x;
运行两次,求出结果。当n自减到零时,跳出循环。返回val。你应该懂得。这很基础。

while(n--)懒人写法,
while(n--)
val*=x;
其等效于
while(n){
val*=x;
n=n-1;
}
当n==0时才退出循环,n不等于0时(如2,3...),循环执行

val*=x;等效于val=val*x;

n--;
if n !=0 继续while内的。。。。
否则 跳出while


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int x,y;
    cin>>x>>y;
    cout<<pow(x,y);
}

x的y次方



  • 鐢C璇█缂栧啓绋嬪簭:杈撳叆瀹炴暟x鍜屾鏁存暟n,璁$畻x鐨刵娆℃柟,涓嶈璋冪敤pow( )鍑...
    绛旓細include <stdio.h> int main(void){ double x,y;int i,n;y=1;printf("璇疯緭鍏锛歕n");scanf(" %lf",&x);printf("璇疯緭鍏锛歕n");scanf(" %d",&n);for (i=1;i<=n;i++){ y=y*x;} printf("x=%0.2f,y=%0.2f \n",x,y);return 0;} ...
  • C璇█缂栫▼搴F(X)=XN娆℃柟
    绛旓細-1= 瑙e湪-1= include void main(){double x;for(x=-1;x<=1;x+=1e-6){ if(fabs(cos(x)-x )<=1e-6)break;} printf("%f\n",x);} 濉1e-7涔熷彲浠ワ紝杩欏氨浣跨粨鏋滅簿纭埌10鐨-7娆℃柟 浣唙c++杈撳嚭缁撴灉鏃朵竴鑸緭鍑哄皬鏁扮偣鍚6浣-->绮剧‘鍒10鐨-6娆℃柟 鎵浠ョ敤1e-7浣嗘渶缁堝彧绮剧‘鍒10鐨-...
  • C璇█杈撳叆涓涓鏁存暟n鍜屼竴涓疄鏁皒,璁$畻x鐨刵娆℃柟鐨勫笺
    绛旓細include<stdio.h> float x;int n,i;float s=1.0;void main(){ printf("Please Input x:");scanf("%f",&x);printf("Please Input num:");scanf("%d",&n);if(n<0)printf("n must greater than 0.");else if(n==0)s=1;else { for(i=1;i<=n;i++){ s=s*x;} } pri...
  • 鍦C璇█涓庢牱琛ㄧず涓涓暟鐨 鈥n鈥 娆℃柟
    绛旓細C璇█涓璁$畻涓涓暟鐨凬娆℃柟鍙互鐢ㄥ簱鍑芥暟pow鏉ュ疄鐜般傚嚱鏁板師鍨嬶細double pow(double x, double y)銆備妇渚嬪涓嬶細double a = pow(3.14, 2); // 璁$畻3.14鐨勫钩鏂广傛敞锛氫娇鐢╬ow鍑芥暟鏃讹紝闇瑕佸皢澶存枃浠#include<math.h>鍖呭惈杩涙簮鏂囦欢涓
  • 鐢C璇█缂栫▼瀹炵幇璁$畻x鐨刵娆′箻鏂广傛眰澶х鏁,璇︾粏姝ラ,鎴戝垰瀛﹁繖涓c璇█...
    绛旓細姣斿瀹炵幇value鐨刵娆℃柟 int num = value; while(n>=2) { num *= value; n--; }//num灏辨槸鍊间簡
  • C璇█缂栫▼搴F(X)=XN娆℃柟
    绛旓細{ int i=0;int j=a;//鍦ㄨ繖寰幆锛岃繘琛宐-1娆★紝鍥犱负j=a锛屾墍浠ュ湪绗竴娆$殑鏃跺欏氨宸茬粡杩涜浜哸鐨勫钩鏂逛簡锛屾墍浠ラ渶瑕佸噺涓涓俧or(i=0;i
  • 鎬庝箞鐢C璇█缂栧啓涓涓璁$畻娆℃柟鐨鍑芥暟?
    绛旓細C璇█涓〃杈n娆℃柟鍙互鐢╬ow鍑芥暟銆傚嚱鏁板師鍨嬶細double pow(double x, double y)鍔 鑳斤細璁$畻x^y鐨勫 杩 鍥 鍊硷細璁$畻缁撴灉 涓句緥锛歞ouble a;a = pow(3.14, 2); // 璁$畻3.14鐨勫钩鏂癸紝骞跺皢缁撴灉淇濆瓨鍦ㄥ彉閲廰涓 娉細浣跨敤pow鍑芥暟蹇呴』灏嗗ご鏂囦欢#include<math.h>鍖呭惈杩涙簮鏂囦欢涓 ...
  • c璇█缂栫▼:杈撳叆涓涓暣鏁皀,璁$畻3.2鐨刵娆,瑕佹眰瀹氫箟鍑芥暟璁$畻x^n鍊
    绛旓細鍙互杈撳叆浠绘剰鏁扮殑浠绘剰娆℃柟 涓嶄細鏈夋孩鍑#include <stdio.h> include <string.h> define x 1000 int main(int argc, char *argv[]){ char a[10];long b[x];long m,pown,n,i,j,k,c,flag,len;while(scanf("%s%ld",a,&pown)!=EOF){ memset(b,0,sizeof(b));len=strlen(a);m=...
  • c璇█缂栫▼涓浣曡緭鍏骞傛鏂
    绛旓細1銆佸ご鏂囦欢锛#include 2銆佸師鍨嬶細double pow(double x, double y);pow() 鍑芥暟鐢ㄦ潵姹 x 鐨 y 娆″箓锛娆℃柟锛塸ow()鐢ㄦ潵璁$畻浠 涓哄簳鐨 y 娆℃柟鍊硷紝鐒跺悗灏嗙粨鏋滆繑鍥炪傝杩斿洖鍊间负 ret锛屽垯 ret = xy銆3銆佷妇渚嬪涓嬶細double a = pow(4, 2); // 璁$畻4鐨勫钩鏂 4銆佸彲鑳藉鑷撮敊璇殑鎯呭喌锛氬鏋滃簳鏁 x...
  • ...浠庨敭鐩樿緭鍏ュ崟绮惧害鏁皒鍜屾暣鏁皀,閫氳繃璋冪敤鍑芥暟璁$畻x鐨刵娆℃柟
    绛旓細power鍑芥暟搴旇鍐欏湪main鍑芥暟涔嬪墠锛屼笉鐒剁殑璇濆氨鏃犳硶璋冪敤 power鍑芥暟鍐呯殑t鍒濆鍊煎簲璧嬩负1.0锛屼笉鐒朵細杈撳嚭涓涓緢濂囨殑鏁
  • 扩展阅读:信息学奥赛c++编程 ... 小学生c++趣味编程视频 ... 一节课教你学会c++视频 ... 学习c++的视频 ... c++编程适合几岁学 ... c++面试题 ... 手机c++编程软件 ... c++免费视频教程 ... c十十编程要学多久 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网