枚举-完美立方
诶,为了期末,好久没有(其实也就一个月)写这玩意了emmmm
为了贯彻落实社会主义核心价值观,最近打算把程序算法的相关知识从头串一遍.
(感觉自己学得好散,而且忘了一大半了QAQ)
这样的话每天能更几篇也没太有数,为了方便打算每个题都更一篇,(顺便刷刷总篇数(bushi)).
其实写写博客满满的收获感的,虽然没有某些dl写cf或者leetcode周赛那么系统专业,,,(dl岂是我能干得上的啊!!!)
嗷嗷嗷!!!
哦对还得把就会用万能头文件的毛病改改~~~
哦对了,题目直接写在注释里了.^_^
1 //本题要求输出a<30且满足: 2 /*a^3=b^3+c^3+d^3 3 * a>d>c>b 4 * 且均不为0 5 * z这个题四个循环倒是没啥问题, 6 * 关键在于abcd四个数的范围 7 * 要求这四个数的范围 的 下 界 是不能有重叠的(因为四个数不可能有两个是相等的) 8 * 那样的话考虑a肯定大于2 9 * 那a就是从2~30 10 * 所有的上界都是a 11 * 12 * b为最小的数范围,所以可以从最小数2开始 13 * c为第二个,从b到a 14 * d就是从c开始 15 * 本题说白了就是找范围,用范围定大小 16 * 17 * 18 */ 19 20 21 22 #include <iostream> 23 using namespace std; 24 int main(){ 25 int a,b,c,d; 26 for(a=2;a<30;a++){ 27 for(b=2;b<a;b++){ 28 for(c=b;c<a;c++){ 29 for(d=c;d<a;d++){ 30 if(a*a*a==b*b*b+c*c*c+d*d*d){ 31 cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl; 32 } 33 } 34 } 35 } 36 } 37 return 0; 38 } 39 40 41 //当然也可以挨个加特判^_^反正四个循环已经那么慢了嘛 42 #include <iostream> 43 using namespace std; 44 int main(){ 45 int a,b,c,d; 46 for(a=2;a<30;a++){ 47 for(b=2;b<a;b++){ 48 49 for(c=2;c<a;c++){ 50 if(c>b) 51 for(d=2;d<a;d++){ 52 if(d>c) 53 if(a*a*a==b*b*b+c*c*c+d*d*d){ 54 cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl; 55 } 56 } 57 } 58 } 59 } 60 return 0; 61 }
为了自己,和那些爱你的人