解题思路:
d和c从大数往小数循环
注意事项:
参考代码:
#include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; for(int a=0;a<=1000;a++) { for(int b=a;b<=1000;b++) { if(a*a+b*b>n) break; for (int d=(sqrt(n-a*a-b*b));d>=b;d--) { for(int c=sqrt(n-a*a-b*b-d*d);c>=b;c--) { if(a*a+b*b+c*c+d*d<n) break; if(a*a+b*b+c*c+d*d==n ) { cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl; return 0; } } } } } return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:436 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:998 |
C语言训练-排序问题<1> (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:639 |
简单的a+b (C语言代码)浏览:600 |
校门外的树 (C语言代码)浏览:733 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2121 |
大神老白 (C语言代码)浏览:637 |
单词个数统计 (C语言代码)浏览:1046 |
多输入输出练习2 (C语言代码)浏览:1710 |