本文共 2060 字,大约阅读时间需要 6 分钟。
/*---------------------------------------------------------------- @copyright content:a^3=b^3+c^3+d^3; 1 <=N; b<=c<=d; input:N(N<=100); output:Cube=a, Triple=(b,c,d); if the result contains more than one 'a', then first print the answer with smaller 'b', etc. author:szetrov//----------------------------------------------------------------*)/*----------------------------------------------------------------* *---------------------version 1.0---------------------------------- #includeusing namespace std; int main() { int a=0,b=0,c=0,d=0; int N=0; cin >> N; for(a=2; a<=N; a++) { for(d=2; d<=N; d++) { for(c=2; c<=d; c++) { for(b=2; b<=c; b++) { if((a*a*a) == ((b*b*b)+(c*c*c)+(d*d*d)) cout << "Cube=" << a << ", Triple=(" << b << "," << c << "," << d << ")"; } } } } } } *----------------------------------------------------------------* /*----------------------------------------------------------------* *---------------------version 2.0---------------------------------- improvement:shorten the range and change inner loop order from a-d-c-b to a-b-c-d; #include using namespace std; int main() { int a=0,b=0,c=0,d=0; int N=0; cin >> N; for(a=2; a<=N; a++) { for(b=2; b<=a-1; b++) { for(c=b; c<=a-1; c++) { for(d=c; d<=a-1; d++) { if((a*a*a) == ((b*b*b)+(c*c*c)+(d*d*d)) cout << "Cube=" << a << ", Triple=(" << b << "," << c << "," << d << ")"; } } } } } *----------------------------------------------------------------*
??????????????????????????1.0?????????????a?b?c?d??????????a? = b? + c? + d?????
??2.0????????????????????????a?b??c??d??????????????????????????????
???????????????????????????????????????????????????
转载地址:http://nkv.baihongyu.com/