Ja sam pomoću nizova riješila zadatak na ovaj način:
Code:
#include <stdio.h>
#include <stdlib.h>
int main()
{int i,niz[100]={1},niz2[100]={0},pom,pom2,prenos2,j,k,n=63,prenos=0;
for(k=0;k<n;k++)
for(i=0;i<100;i++)
{pom=niz[i]*2+prenos;
niz[i]=pom%10;
prenos=pom/10;}
printf("Na zadnjem polju bi se nalazilo:");
for(i=99;niz[i]==0;i--);
for(i;i>=0;i--)
printf("%d",niz[i]);
printf("zrna.");
while(n>=0)
{for(prenos2=0,i=0;i<100;i++)
{pom2=niz[i]+niz2[i]+prenos2;
niz2[i]=pom2%10;
prenos2=pom2/10;
}
n--;
niz[0]=1;
for(i=1;i<n;i++)
niz[i]=0;
for(k=0,prenos=0;k<n;k++)
for(i=0;i<100;i++)
{pom=niz[i]*2+prenos;
niz[i]=pom%10;
prenos=pom/10;}}
printf("\nNa tabli ukupno ima:");
for(i=99;niz2[i]==0;i--);
for(i;i>=0;i--)
printf("%d",niz2[i]);
printf("zrna.");
return 0;
}
Lako se može provjeriti tačnost (umjesto n=63, može se staviti neki drugi broj polja)
[Ovu poruku je menjao Mihajlo Cvetanović dana 03.01.2016. u 14:39 GMT+1]