这周第一次接触这门课程,总体上就是感觉C语言和java的结合,不过我的java学的不太好,应该还是有难度的。
首先这周上课讲了算法复杂性分析:
算法的复杂性分为:时间复杂性和空间复杂度
目标:对于任意给定的问题,尽量设计出复杂性低的算法
准则:选择复杂性最低者是选用算法的重要准则!!!
概念:
时间复杂性:需要时间资源的量
空间复杂性:需要空间资源的量
课下留的作业:
百鸡问题、完美立方等式、求解年龄问题3道
百鸡代码:
#include<iostream>
using namespace std;
int main()
{int a,b,c;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;}}
完美立方等式:
#include<iostream>
using namespace std;
int main() {int N;cin>>N;for(int a=6;a<=N;a++) for (int b=2;b<=a;b++)
for(int c=b;c<a;c++)
for (int d=c;d<a;d++) if(a*a*a==b*b*b+c*c*+d*d*d)
cout<<"Cude="<<a<<",Triple=("<<b<<","<<c<<","<<d<<")"<<endl;return 0;}