这周是一个新学期的开始也是复习周的开始,复习以前学习过的内容,数据结构,java,c++的知识都需要重新拾起来。
算法的知识:尽量用最低的复杂性解决问题
了解了时间复杂性和空间复杂性
课后作业的百鸡问题和年龄问题让我明白了,最优方案需要一次又一次的修改,一点点的升级
百鸡问题:
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int main()
{
int a,b,c,start,end;
srand((unsigned)time(NULL));
start=clock();
for(a=0;a<=20;a++)
for(b=0;b<=33;b++){
c=100-a-b;
if(a*5.0+b*3.0+c/3.0==100&&a+b+c==100)
cout<<"公鸡"<<a<<"母鸡"<<b<<"小鸡"<<c<<endl;
}
end=clock();
cout<<"所用时间为"<<end-start<<"ms";
完美立方等式:
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,n;
cin>>n;
for(a=2;a<=n;a++){
for(b=2;b<a;b++){
for(c=b;c<a;c++){
for(d=c;d<a;d++){
if(a*a*a==b*b*b+c*c*c+d*d*d){
cout<<a<<"^3"<<"="<<b<<"^3"<<"+"<<c<<"^3"<<"+"<<d<<"^3"<<endl;
}
}
}
}
}
}