Ⅰ C程序運用函數嵌套計算1的k次方和2的k次方到n的k次方的和
#include <stdio.h>
int f1(int a,int k)
{
int temp=1;
while(k--)
{
temp*=a;
}
return temp;
}
void f2(int n,int k)
{
int sum=0;
for(int i=1;i<=n;i++)
{
sum+=f1(i,k);
}
printf("sum=%d",sum);
}
int main()
{
f2(3,3);
return 0;
}
Ⅱ 請高手幫忙,用c語言計算2的n次方,最大到2的64次。
int型是不夠的,ls都是用的int型,只能算30位左右,遠遠沒有達到lz的要求。我開了__int64型(vc++編譯器),可以計算64位整數,但是這個還是不能算到64,我的程序最大62位,我用了移位,這樣高效。如果你一定要64位甚至更高的話,那就必須用數組來模擬乘法了。
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%I64d\n",((__int64)1)<<n);
return 0;
}
Ⅲ 高精度問題,C語言,求二的n次方
//自己一個一個代碼敲的,希望對題主有用
intmain()
{
intnum=1000;
charret[1000];
intN;
intretLength;
while(scanf("%d",&N)&&N>=0)
{
memset(ret,-1,sizeof(ret));
ret[0]=1;
retLength=0;
if(0==N)
{
printf("%d ",1);
continue;
}
else
{
for(inti=0;i<N;++i)
{
charisCarry=0;
intj=0;
for(j=0;j<num;++j)
{
if(-1==ret[j])
{
break;
}
//模擬乘2過程
ret[j]*=2;
ret[j]+=isCarry;
if(ret[j]>=10)
{
isCarry=1;
ret[j]%=10;
}
else
{
isCarry=0;
}
}
//一輪模擬乘2結束,判斷是否還有進位,
//如果有進位,則在下位賦值為1
if(1==isCarry)
{
ret[j++]=1;
isCarry=0;
}
//最後一次模擬需要保存,總共計算了的長度。
if(i==N-1)
{
retLength=j;
}
}
//最後格式化輸出,50次一個換行,
//注意計算結果保存是逆序。如2^10的保存結果為4201
for(inti=0;i<retLength;++i)
{
printf("%c",ret[retLength-i-1]+'0');
if(0==(i+1)%50)
{
printf(" ");
}
}
}
printf(" ");
}
return0;
}
Ⅳ 求C語言演算法2的N次方,N<=100
main()
{
int i,s=1;
scanf("%d",&n);
for(i=1;i<=n,i++)
s=2*s;
printf("%d",s);
}
若計算2^100,輸入100(即n=100)
Ⅳ 如何使用C語言計算2的n次方的值
int i;
int n=10; // n為指數
int value = 1; // value為2的n次方
for(i=0;i<n;i++){
value *=2;
}
Ⅵ c語言中 計算2的n的n次方 N可能大於100
#include<stdio.h>
intmain()
{
intN;
/*
數組每個元素作為一個位.
並且value[1000]為個位
*/
intvalue[1001]={0};
inti;
value[1000]=1;//初始化個位為1
scanf("%d",&N);//2^N
while(N--)
{
//每個位乘上2
for(i=1000;i>0;--i)
{
value[i]*=2;
}
//從個位開始,滿是進1
for(i=1000;i>0;--i)
{
if(value[i]>=10)
{
value[i]-=10;
value[i-1]+=1;
}
}
}
//輸出數組
for(i=0;i<=1000;++i)
{
if(value[i]!=0)
{
while(i<=1000)
{
printf("%d",value[i]);
++i;
}
putchar(' ');
break;
}
}
return0;
}
//大數的N次的平方,望採納.
Ⅶ c語言求2的n次方用數組怎麼做
你要#include
<math.h>
然後用x=pow(2,n);返回這個結果
如果得用數組的話,
double
a[Max];
a[0]=2;
for(i=1;i<MAX;i++)
a[i]=a[i-1]*2;
這樣數組中就是一個等比數列了
Ⅷ C語言中如何算2的N次方
#include <stdio.h>
#include<math.h>
int main()
{
int n;
unsigned long long sum;
printf("請輸入要計算的N此方:");
scanf("%d",&n);
sum=pow(2,n);
printf("%llu",sum);
return 0;
}
(8)計算2的n次方的c語言嵌套擴展閱讀:
在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明,而定義文件用於保存程序的實現。
頭文件一般由四部分內容組成:
1,頭文件開頭處的版權和版本聲明。
2,預處理塊。
3,inline函數的定義。
4,函數和類結構聲明等。
在頭文件中,用 ifndef/define/endif結構產生預處理塊,用 #include 格式來引用庫的頭文件。頭文件的這種結構,是利用C語言進行開發軟體所通常具備的,屬於公有知識。
Ⅸ 2的n次方用C語言怎麼編寫程序
#include<math.h>
main()
{double i;/*要用雙精度型,因為pow函數的原形是double pow(double x,double y)*/
printf("input n:");
scanf("%lf",&i);/*雙精度型的格式符是%lf*/
printf("2^%d=%d\n",(int)i,(int)pow(2.0,i));/*在i和pow(2.0,i)是雙精度型的,加上(int),把它們強制轉換成整型*/
}
Ⅹ 2的n次方用c語言怎麼表示
C語言有函數,需要頭文件#include <math.h> 用pow(2,n)就可以表示2的n次方。
#include<math.h>
main()
{double i;/*要用雙精度型,因為pow函數的原形是double pow(double x,double y)*/
printf("input n:");
scanf("%lf",&i);/*雙精度型的格式符是%lf*/
printf("2^%d=%d ",(int)i,(int)pow(2.0,i));/*在i和pow(2.0,i)是雙精度型的,加上(int),把它們強制轉換成整型*/
}
(10)計算2的n次方的c語言嵌套擴展閱讀:
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。
當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。