日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言的循环代码大全,循环 (C语言代码)

發布時間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言的循环代码大全,循环 (C语言代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解題思路:

指數疊加的大整數運算。

注意事項:

題目上說的n<10100這一句應該是打錯了,。我把程序查來查去查不出錯。后來把輸入的int改成字符串,設了200位,就通過了。

參考代碼:

#include

#include

int xx(char *a,char *b,char *c)

{

int i,j,t=0,k;

for(i=0;b[i]!=NULL&&i<100;i++)

{

for(j=0;a[j]!=NULL&&j<100;j++)

{

if(i+j<100)

{

if(c[j+i]==NULL)

{

c[j+i]='0';

if(j+i+1<=100)

c[j+i+1]=NULL;

}

t=(c[j+i]-'0')+(a[j]-'0')*(b[i]-'0');

c[j+i]=t%10+'0';

t=t/10;

k=j+i+1;

while(t!=0&&k<100)

{

if(c[k]==NULL)

{

c[k]='0';

c[k+1]=NULL;

}

t=t+(c[k]-'0');

c[k]=t%10+'0';

t=t/10;

k++;

}

}

}

}

return 0;

}

int add(char *m,char *nm)

{

int i,t=0,k;

for(i=0;i<200;i++)

{

if(m[i]==NULL&&nm[i]==NULL)

break;

else if(m[i]==NULL)

{

m[i]='0';

m[i+1]=NULL;

}

else if(nm[i]==NULL)

{

nm[i]='0';

nm[i+1]=NULL;

}

t=(m[i]-'0')+(nm[i]-'0');

m[i]=t%10+'0';

t=t/10;

k=i;

while(t!=0)

{

k++;

if(m[k]==NULL)

{

m[k]='0';

m[k+1]=NULL;

}

t=m[k]-'0'+t;

m[k]=t%10+'0';

t=t/10;

}

}

}

int main()

{

//?? ?long int bug=0;

int a,b,i,j,p=0,end=0,w=0;

char n[102],t[102],c[102],tempm[102],tempnm[102],mast[102],m[200],nm[200];

char check[200];

scanf("%s",check);?? ??? ??? ??? ?//找了好久終于找到了錯的地方,,,原來輸入問題。

scanf("%d",&b);

j=0;

for(i=(int)strlen(check)-1;i>=0&&j<=100;i--)

{

n[j]=check[i];

j++;

}

n[j]=NULL;

//這里是原本的整型輸入

//?? ?scanf("%d %d",&a,&b);

m[0]='0';

m[1]=NULL;

nm[0]='1';

nm[1]=NULL;

/*

for(i=0;i

{

n[i]=a%10+'0';

a=a/10;

}

n[i]=NULL;

*/

strcpy(mast,n);

strcpy(t,n);

tempm[0]='1';

tempm[1]=NULL;

for(i=1;i<=b;i++)

{

tempnm[0]=NULL;

c[0]=NULL;

xx(n,t,c);

xx(tempm,t,tempnm);

tempnm[b+1]=NULL;

c[b]=NULL;

add(m,nm);

p=0;

for(j=w;j

{

if(c[j]!=mast[j])

{

i=w;

break;

}

else

{

p=1;

w++;

}

}

if(p==1)

{

strcpy(nm,m);

if(w==b)

{

for(i=(int)strlen(m)-1;i>=0;i--)

{

printf("%c",m[i]);

//?? ?bug=bug*10+(m[i]-'0');

}

//?? ?printf("%ld",bug);

return 0;

}

strcpy(t,tempnm);

}

strcpy(tempm,tempnm);

strcpy(n,c);

end++;

if(end==100000)

{

break;

}

}

printf("-1");

return 0;

}

總結

以上是生活随笔為你收集整理的c语言的循环代码大全,循环 (C语言代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。