MD5加密算法
C++实现: #include<iostream> #include<string> using namespace std; #define shift(x, n) (((x) << (n)) | ((x) >> (32-(n))))//右移的时候,高位一定要补零,而不是补充符号位 #define F(x, y, z) (…
7-6 我的支付宝和余额宝
题目: 支付宝AliPay和余额宝AliFund是一对好兄弟,他们来自同一个父类Account。 已知类Account是支付宝AliPay和余额宝AliFund的虚基类,包括两个protected成员数据: long ID;//账号 string name;//用户名 支付宝AliPay是类Account的保护派生类,包括两个新增protected…
PTA面向对象程序设计 7-1 宿舍谁最高?
题目: 学校选拔篮球队员,每间宿舍最多有 4 个人。现给出宿舍列表,请找出每个宿舍最高的同学。定义一个学生类 Student,有身高 height,体重 weight 等。 输入格式: 首先输入一个整型数 n (1≤n≤106),表示有 n 位同学。 紧跟着 n 行输入,每一行格式为:宿舍…
类和对象
1、类成员函数:指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。当在类外部定义时需要在函数名前加上类名称::(范围解析运算符)。 2、类访问修饰符:public、private、proteced,没有声明时默认为private。 3、析构函数:删除所创建的对象,一般在对象生命周期结束时自动调用不需要特别声明,~名称,如果特别声明…
PTA第6周——7-5 彩虹瓶
题目: 彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工厂里有每种颜色的小球各一箱,工人需要一箱一箱地将小球从工厂里搬到装填场地。如果搬来的这箱小球正好是可以装填的颜色,就直接拆箱装填;如果不是…
PTA第5周——4 奇怪的电梯
题目: c大楼有一个一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼 (1≤i≤N) 上有一个数字Ki(0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3,3,1,2,5 代表了Ki (K1=3,K…
PTA第4周——5 后缀表达式
题目: 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右进行(不用考虑运算符的优先级)。 如:中缀表达式 3*(5–2)+7 对应的后缀表达式为:352-*7+ 。 请将给出的中缀表达式转化为后缀表达式并输出。 输入格式: 输入仅一行为中缀表达式,式中所有数字均为个位数…
PTA第3周——7-1郭老师的冰糖葫芦
题目: 郭老师有草莓和山楂两种水果共计n个,她打算用这些水果做一串冰糖葫芦。她会把这串冰糖葫芦的水果组成用字符串的形式告诉你,其中’B’表示草莓,’W’表示山楂,例如:BBW,表示这串冰糖葫芦的水果按照顺序是草莓、草莓、山楂。郭老师想知道这串冰糖葫芦上的草莓串有几串,按照从左到右的顺序,这些草莓串的长度分别是多少?例如,冰糖葫芦WBBBBWWBWB…
PTA第3周——7-2又是A+B
题目: 这次的问题很简单,就是给你两个正整数A和B,请你帮忙计算A+B的运算结果。有点儿不一样的是,这两个正整数可能会很大噢! 输入格式: 输入包括两行,每行一个正整数,分别代表加数A和B(0<A,B≤1e10086)。 输出格式: 输出仅一行,即A+B的运算结果。 输入样例: 234567899 34344661 输出样例: 2689125…
PTA第3周——7-3数楼梯
题目: 楼梯有N阶,上楼可以一步上一阶,也可以一步上两阶。那么走到第N阶楼梯共有多少种不同的走法呢? 输入格式: 一个正整数 N(1<=N<=5000),表示楼梯阶数。 输出格式: 输出一个数,表示走到第N阶楼梯有多少种走法。 注意,数据范围很大,即使是64位也可能不够存。 输入样例1: 4 输出样例1: 5 输入样例2: 400 输出…