【语法16】Python面向对象1 定义与使用类类的定义class testClass: name = "Xu Huan" def welcome(self): print("Xu Huan is handsome")xu = testClass()print(xu.name)xu.welcome()Xu HuanXu Huan is handsomePython要求类的方法的第...
【Python练习】重做王道机试1 分段函数m = int(input())for i in range(m): x = int(input()) if 0 <= x < 2: print("y=%.1f" %(-x+2.5)) elif 2 <= x < 4: print("y=%.1f" %(2-1.5*(x-3)*(x-3))) eli...
【王道机试笔记21】最长递增子序列(LIS) 最长递增子序列(LIS)例7.3 拦截导弹代码7.3#include<iostream>#include<algorithm>using namespace std;int main(){ int n; int a[25]; int x[25]; while(cin >> n){ for(int i=0;i<n;i++) ci...
【王道机试笔记20】递归求解 递归求解例7.1 N阶楼梯上楼问题代码7.1#include<iostream>using namespace std;int F(int x){ int ret; if(x == 1) ret = 1; else if(x == 2) ret = 2; else ret = F(x-1) + F(x-2); return ret;}int main...
【王道机试笔记】stack库/queue库 stack库stack < 存储的数据类型> 堆栈名#include<stack>stack<int> s;常用的函数操作:① empty() 判断堆栈是否为空② pop() 删除最顶上的元素(栈顶元素),这个操作是没有返回值的,只删除③ push()将元素放入栈顶④ size() 返回堆栈中元素的个数⑤ top() 返回栈顶元素,这个操作只...
【王道机试笔记】algorithm库/string库 algorithm库的常用函数max(x,y) min(x,y) 参数可以是浮点数abs(x) x必须是整数 如果x是浮点数则要用math头文件下的fabs(x)swap(x,y) 交换x和ysort(首元素地址(必填),尾元素地址的下一个地址(必填),比较函数(非必填)) 例如sort(v.begin(),v.end())比较函数:bool cmp(node a,node b) //...
【王道机试笔记19】高精度整数 高精度整数struct bigInteger{ int digit[1000]; int size;};其中 digit 数组用来保存大整数中每若干位的数字,这里我们暂且使用每4位为一个单位保存。例4.11 a+b#include<string> #include<iostream>#include<algorithm>using name...
【王道机试笔记18】二次求幂 二次求幂例4.10 人见人爱A^B代码4.10#include<iostream>using namespace std;int main(){ int A,B,ans; while(cin >> A >> B){ if(A == 0 && B == 0) break; ans = 1; A %= 1000; ...
【王道机试笔记17】分解素因数 分解素因数例4.8 质因数的个数#include<iostream>#include<math.h>using namespace std;int main(){ int n,loc,sum; while(cin >> n){ sum = 0; loc = 2; while(n != 1){ if(loc > sqrt(n)...
【王道机试笔记16】素数筛法 素数筛法例4.6 素数判定代码4.8#include<iostream>#include<math.h>using namespace std;int main(){ int n,flag; while(cin >> n){ flag = 0; if(n == 1) flag = 1; else if(n == 2) fl...
【王道机试笔记15】最小公倍数(LCM) 最小公倍数(LCM)例4.5 最小公倍数代码4.7#include<iostream>using namespace std;int main(){ long A,B,a,b; while(cin >> A >> B){ a = A; b = B; if(a < b){ long temp = a; a = b; ...
【王道机试笔记14】最大公约数(GCD) 最大公约数(GCD)辗转相除法。例4.4 最大公约数代码4.5#include<iostream>using namespace std;int main(){ int a,b; while(cin >> a >> b){ if(a < b){ int temp = a; a = b; b = temp; }...
【王道机试笔记13】进制转换 进制转换例4.2 又一版A+B代码4.3#include<iostream>using namespace std;int main(){ int t[40]; int m,i; long A,B,C; while(cin >> m){ int loc = 0; if(m == 0) break; cin >> A >&...
【王道机试笔记12】数位拆解 数位拆解例4.1 特殊乘法代码4.2#include<iostream>#include<string.h>using namespace std;int main(){ char str1[15],str2[15]; while(cin >> str1 >> str2){ int ans = 0; for(int i=0;i...
【王道机试笔记11】%运算符 %运算符通过求模运算符求得的余数存在负数的可能,因此需要在负的余数上再加上除数再对除数求一次余数。r = a % ba = (k - 1) * b + r +br' = (r + b) % b这样能够对负余数做适当的修正,但是对出现的零和正余数不会改变他们的值。PS. 使用%运算符求得的余数和除数的符号无关。%运算符还有以下工作特点:还是A+B#include<iost...
【王道机试笔记10】二叉排序树 二叉排序树例3.5 二叉排序树代码3.5#include<iostream>using namespace std;struct Node{ Node *lchild; Node *rchild; int i;}tree[105];int loc;Node *create(){ tree[loc].lchild = tree[loc].rchild = NULL...
【王道机试笔记09】二叉树 二叉树二叉树节点由以下结构体表示:struct Node { Node *lchild; Node *rchild; /* * * 其它结点信息*/}; 通过递归方式完成中序遍历:void inOrder(Node *Tree){ if(Tree -> lchild != NULL) inOrder(Tree -> lchild); /* * * ...
【王道机试笔记08】哈夫曼树 建立一个保存元素为int的堆Q,这样的堆默认为大顶堆(堆顶取得的元素是整个堆最大的元素)priority_queue<int> Q;可以通过如下语句定义一个小顶堆:priority_queue<int,vector<int>,greater<int>> Q;将元素x放入堆Q中。Q.push(x);取出栈顶元素,即最小的元素保存到a中...