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 |
有为高手能帮忙看看我的代码哪里错了吗,谢谢了,老是WRONG ANSWER!!!#include <stdio.h> #include <math.h> const double A = 1 + (sqrt(5.0) - 1) / 2; const double B = 1 + 2 / (sqrt(5.0) - 1); unsigned long result[3]; unsigned short i; bool Check(const unsigned long m, const unsigned long n); void GetResult(const unsigned long m, const unsigned long n); void Show(); int main() { unsigned long a, b; //得到a, b值,然后进行计算 for (i=0;i<3;i++) { do { scanf("%d%d", &a, &b); } while (!Check(a, b)); if (0 == a || 0 == b) { result[i] = 1; } else { GetResult(a, b); } } //显示结果 Show(); return 0; } bool Check(const unsigned long m, const unsigned long n) { if (m > 1000000000 || n > 1000000000 || m < 0 || n < 0) return false; else return true; } void GetResult(const unsigned long m, const unsigned long n) { unsigned long r = 0; while (A * r - m < 0) { r++; } if (m == (int)(A * r)) { if (n == (int)(B * r)) { result[i] = 0; } else { result[i] = 1; } } else { r = 0; while (B * r - m < 0) { r++; } if (n == (int)(A * r)) result[i] = 0; else result[i] = 1; } } void Show() { printf("%d\n%d\n%d\n", result[0], result[1], result[2]); } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator