Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
好简单的一个题目啊,沟起我对数学的回忆了.......#include<stdio.h> #include<math.h> __int64 result[11][2]; __int64 absolute( __int64 a){ if(a<0) return -a; else return a; } int check(__int64 a,int n,__int64 b){ int i; if(!a) return 0; for(i=0;i<=n;i++) if(a==result[i][0]) return 0; if(a>b) return 0; else return 1; } int main(){ __int64 min,temp1,temp2; int i,j,m; m=0; result[0][0]=1; result[0][1]=3; while(m<11){ min=2*result[m][0]*result[m][1]; for(i=0;i<=m;i++) for(j=0;j<=i;j++) { temp1=absolute(result[i][0]*result[j][1]-result[j][0]*result[i][1]); temp2=result[i][0]*result[j][1]+result[j][0]*result[i][1]; if(check(temp1,m,min)) min=temp1; if(check(temp2,m,min)) min=temp2; } result[++m][0]=min; result[m][1]=sqrt((8*min*min+1)); } for(i=1;i<=10;i++) printf("%10.I64d%10.I64d\n",result[i][0],(result[i][1]-1)/2); } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator