69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
const int COUENT = 9999;
int main()
{
int result[10000] = {0};
result[0] = 2;
//进位:carry,当前位数:bit
int carry = 0, bit = 1, multi = 0;
for(int i = 0; i < COUENT; i++)
{
carry = 0;
for(int j = 0; j < bit; j++)
{
multi = result[j] * 2 + carry;
carry = multi / 10;
result[j] = multi %10;
if((j+1) == bit)
{
if(carry > 0)
{
result[bit] = carry;
bit++;
break;
}
}
}
}
for(int i = bit - 1; i >= 0; i--)
{
printf("%d", result[i]);
}
printf("\n");
}
#include <stdio.h>
#include <string.h>
#define DIGMAX 100000
void add(char *s1, char *s2, char *sum)
{
int g = 0, i, j;
while (*s1 || *s2) {
i = *s1 ? *s1++ - '0' : 0;
j = *s2 ? *s2++ - '0' : 0;
*sum++ = (i+j+g) % 10 + '0';
g = (i+j+g) / 10;
}
while (g) {
*sum++ = g % 10 + '0';
g /= 10;
}
*sum = '\0';
}
void mutiply(char *s1, char *s2, char *acc)
{
char f1[DIGMAX], f2[DIGMAX];
int len1 = strlen(s1);
int len2 = strlen(s2);
int i, j, k, g;
acc[0]='0'; acc[1]='\0';
for (i=0; i<len2; i++) {
*f1 = '\0';
g = 0;
for (k=0; k<i; k++)
strcat(f1, "0");
for (j=0; j<len1; j++,k++) {
f1[k] = ( s1[j] - '0' ) * ( s2[i] - '0' ) + g;
g = f1[k] / 10;
f1[k] = f1[k] % 10 + '0';
}
while (g) {
f1[k++] = g % 10 + '0';
g /= 10;
}
f1[k] = '\0';
strcpy(f2, acc);
add(f1, f2, acc);
}
}
int main()
{
char s[10], re[DIGMAX], f[DIGMAX];
int i, j, n, p, g, l;
while (scanf("%s %d",s, &n) == 2) {
for (p=i=0, j=strlen(s)-1; j>=0 && s[j]!=' '; j--)
if (s[j] != '.')
re[i++] = s[j];
else
p = i*n;
while (re[i-1]=='0')
re[--i] = '\0';
re[i] = '\0';
strcpy(s, re);
while (--n) {
strcpy(f, re);
mutiply(f, s, re);
}
i = 0; l = j = strlen(re);
while (p>0 && re[i]=='0') {i++; p--; l--;}
if (p>=l) {
putchar('.');
while (p>l) {putchar('0'); p--;}
while (--j >= i) putchar(re[j]);
} else {
while (l>p) {putchar(re[--j]); l--;}
if (j>i) putchar('.');
while (j>i) putchar(re[--j]);
}
putchar('\n');
}
}
#include <stdio.h>
#include <stdlib.h>
char *Add(char *s1,char *s2)
{
char c,c1,c2;
int i=0,j=0,k=0,i1=0,m;
while(*(s1+i)!=0)
i++;
while(*(s2+i1)!=0)
i1++;
m=k=i>i1?i:i1;
while(k!=0)
{
k--;i--;i1--;
c1=(i>=0)?(*(s1+i)-'0'):0;
c2=(i1>=0)?(*(s2+i1)-'0'):0;
c=c1+c2;
if(c<10)
{
if(c+j>=10)
{
s1[k]='0'+c+j-10;
j=1;
}
else
{
s1[k]='0'+c+j;
j=0;
}
}
else
{
c-=10;
s1[k]='0'+c+j;
j=1;
}
}
if(j==1)
{
for(i=m;i>0;i--)
s1[i]=s1[i-1];
s1[i]='1';
}
s1[m+1]=0;
return s1;
}
char * nsquare(int n)
{
char *ss=(char *)calloc(n,sizeof(char));
int i;
ss[0]='1';
for(i=0;i<n;i++)
ss=Add(ss,ss);
return ss;
}
int main(void)
{
char *r;
FILE *fp=fopen("d:\\rrr.txt","w");
int i;
for(i=0;i<10000;i++)
{
r=nsquare(i);
fprintf(fp,"%s\n",r);
free(r);
}
getchar();
return 0;
}
#include <stdio.h>
#include <stdlib.h>
char *Add(char *s1,char *s2)
{
char c,c1,c2;
int i=0,j=0,k=0,i1=0,m;
while(*(s1+i)!=0)
i++;
while(*(s2+i1)!=0)
i1++;
m=k=i>i1?i:i1;
while(k!=0)
{
k--;i--;i1--;
c1=(i>=0)?(*(s1+i)-'0'):0;
c2=(i1>=0)?(*(s2+i1)-'0'):0;
c=c1+c2;
if(c<10)
{
if(c+j>=10)
{
s1[k]='0'+c+j-10;
j=1;
}
else
{
s1[k]='0'+c+j;
j=0;
}
}
else
{
c-=10;
s1[k]='0'+c+j;
j=1;
}
}
if(j==1)
{
for(i=m;i>0;i--)
s1[i]=s1[i-1];
s1[i]='1';
}
s1[m+1]=0;
return s1;
}
char * nsquare(int n)
{
char *ss=(char *)calloc(n,sizeof(char));
int i;
ss[0]='1';
for(i=0;i<n;i++)
ss=Add(ss,ss);
return ss;
}
int main(void)
{
char *r;
FILE *fp=fopen("d:\\rrr.txt","w");//结果保存在d:\\rrr.txt
int i;
for(i=0;i<10000;i++)
{
r=nsquare(10000);
fputs(r,fp);
free(r);
}
getchar();
return 0;
}
19950631168807583848837421626835850838234968318861924548520089498529438830221946631919961684036194597899331129423209124271556491349413781117593785932096323957855730046793794526765246551266059895520550086918193311542508608460618104685509074866089624888090489894838009253941633257850621568309473902556912388065225096643874441046759871626985453222868538161694315775629640762836880760732228535091641476183956381458969463899410840960536267821064621427333394036525565649530603142680234969400335934316651459297773279665775606172582031407994198179607378245683762280037302885487251900834464581454650557929601414833921615734588139257095379769119277800826957735674444123062018757836325502728323789270710373802866393031428133241401624195671690574061419654342324638801248856147305207431992259611796250130992860241708340807605932320161268492288496255841312844061536738951487114256315111089745514203313820202931640957596464756010405845841566072044962867016515061920631004186422275908670900574606417856951911456055068251250406007519842261898059237118054444788072906395242548339221982707404473162376760846613033778706039803413197133493654622700563169937455508241780972810983291314403571877524768509857276937926433221599399876886660808368837838027643282775172273657572744784112294389733810861607423253291974813120197604178281965697475898164531258434135959862784130128185406283476649088690521047580882615823961985770122407044330583075869039319604603404973156583208672105913300903752823415539745394397715257455290510212310947321610753474825740775273986348298498340756937955646638621874569499279016572103701364433135817214311791398222983845847334440270964182851005072927748364550578634501100852987812389473928699540834346158807043959118985815145779177143619698728131459483783202081474982171858011389071228250905826817436220577475921417653715687725614904582904992461028630081535583308130101987675856234343538955409175623400844887526162643568648833519463720377293240094456246923254350400678027273837755376406726898636241037491410966718557050759098100246789880178271925953381282421954028302759408448955014676668389697996886241636313376393903373455801407636741877711055384225739499110186468219696581651485130494222369947714763069155468217682876200362777257723781365331611196811280792669481887201298643660768551639860534602297871557517947385246369446923087894265948217008051120322365496288169035739121368338393591756418733850510970271613915439590991598154654417336311656936031122249937969999226781732358023111862644575299135758175008199839236284615249881088960232244362173771618086357015468484058622329792853875623486556440536962622018963571028812361567512543338303270029097668650568557157505516727518899194129711337690149916181315171544007728650573189557450920330185304847113818315407324053319038462084036421763703911550639789000742853672196280903477974533320468368795868580237952218629120080742819551317948157624448298518461509704888027274721574688131594750409732115080498190455803416826949787141316063210686391511681774304792596709376