在家写一下玩的!
看到论坛有人问这个题!我自己写着玩的!不知道写对了不!
/* Note:Your choice is C IDE */ //2的n次方 n的范围是100~200之间. #include "stdio.h" #include "string.h" int wei[200]={0}; int wei1[200]; int iPandan(int n) { for(;n<=200;n++) if(wei[n]!=0) return 1; return 0; } void main() { int n; int n1=0; int n2=0; int n3; int len=0; printf("请输入n的大小"); wei[0]=2; scanf("%d",&n); for(n1=1;n1<n;n1++) {for(n2=0;wei[n2]!=0||wei[n2]==0&&iPandan(n2+1);n2++) wei[n2]=2*wei[n2]; n2=0; while(wei[n2]!=0) {if(wei[n2]/10>=1) {wei[n2+1]+=1; } wei[n2]=wei[n2]%10; n2++; } } n2=0; while(wei[n2]!=0||(iPandan(n2+1)&&wei[n2]==0)) { n2++; } len=n2-1; for(n3=len;n3>=0;n3--) {wei1[len-n3]=wei[n3]; } for(n3=0;n3<=len;n3++) printf("%d",wei1[n3]); printf("\n"); memset(wei,0,sizeof(wei)); }