Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdio.h>
- #include<math.h>
- using namespace std;
- unsigned long long int gcd(unsigned long long int a, unsigned long long int b)
- {
- unsigned long long int c;
- while ( b != 0 )
- {
- c = b;
- b = a % b;
- a = c;
- }
- return a;
- }
- struct fraction
- {
- unsigned long long int num,denom;
- };
- void reducelowest(struct fraction& a)
- {
- unsigned long long int m;
- m=gcd(a.num,a.denom);
- /*unsigned long long int i;
- if(a.num>a.denom)
- m=a.denom;
- else
- m=a.num;
- for(i=m;i>=1;i--)
- {
- if(a.num%i==0&&a.denom%i==0)
- break;
- }*/
- a.num=a.num/m;
- a.denom=a.denom/m;
- }
- int main()
- {
- FILE*fp=fopen("omoout.txt","w");
- struct fraction f[104][104];
- for(int i=1;i<=51;i++)
- {
- f[1][i].num=1; f[1][i].denom=i;
- f[i][1]=f[1][i];
- f[2][i].num=(2*i*i*i-2*i+3); f[2][i].denom=6*i;
- reducelowest(f[2][i]);
- f[i][2].num=f[2][i].num;f[i][2].denom=f[2][i].denom;
- }
- for(int i=3;i<=50;i++)
- {
- for(int j=2;j<=49;j++)
- {
- if(f[i][j+1].denom==0)
- {
- f[i][j+1].num=((f[i-1][j].denom)*((f[i-1][j+1].denom)*(f[i][j].denom)+(f[i-1][j+1].num)*(f[i][j].num)));
- f[i][j+1].denom=(f[i-1][j].num)*(f[i-1][j+1].denom)*(f[i][j].denom);
- reducelowest(f[i][j+1]);
- }
- }
- }
- for(int i=1;i<=50;i++)
- {
- //for(int j=1;j<=50;j++)
- //{
- fprintf(fp,"f(%d,%d)=%lld/%lld %f\n",i,i,f[i][i].num,f[i][i].denom,pow((f[i][i].num-1),0.5));
- //}
- }
- fclose(fp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement