首頁>Club>
利用a^2=a*a,的思路來,可以用變數代換,但是不知道怎麼寫。
9
回覆列表
  • 1 # Inpetents

    /*

    計算a的n次方

    */

    #include<stdio.h>

    #include<math.h>

    void main()

    {

    int a,n,y;

    scanf("%d %d",&a,&n);

    y=pow(a,n);

    printf("%d",y);

    }

  • 2 # 來自網路的程式碼

    //用折半演算法的思想

    #include <stdio.h>

    int pow_a(int*,int);

    int main(void)

    {

    int a,n;

    scanf("%d %d",&a,&n);

    n = pow_a(&a,n);

    printf("最小次數是%d\n,值 = %d\n",n,a);

    return 0;

    }

    int pow_a(int *x,int n)

    {

    int y = *x * *x; //y是x的平方

    int tmp = n; //測試值

    int count = 1; //次數

    int model = 0; //判斷奇偶性

    if (tmp % 2 != 0)

    {

    model = 1;//奇數

    }

    while(tmp / 2 != 1)

    {

    y *= y;

    n /= 2;

    tmp = n;

    ++count; //遞增次數

    }

    if(model)

    {

    y *= *x;

    ++count;//當是奇數的時候在遞增一次

    }

    *x = y;

    return count;

    }

  • 中秋節和大豐收的關聯?
  • 網站所有顏色,圖片如何輕鬆轉換成灰度圖?