#数据结构与算法

算法笔记_155:算法提高 概率计算(Java)

/目录1问题描述2解决方案 问题描述   生成n个∈[a,b]的随机整数,输出它们的和为x的概率。 输入格式   一行输入四个整数依次为n,a,b,x,用空格分隔。 输出格式   输出一行包含一个小数位和为x的概率,小数点后保留四位小数 样...

算法笔记_156:算法提高 6-17复数四则运算(Java)

/目录1问题描述2解决方案设计复数库,实现基本的复数加减乘除运算。  输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按a+bi的格式在屏幕上打印结果。参加样例输入和样例输出。  注意考虑特殊情况,无法计算时输出字符串"error"。样例输入24*-32样例输出-14-8i样例输入3-2+-1...

算法笔记_157:算法提高 c++_ch02_01(Java)

/目录1问题描述2解决方案 编写一个程序,利用强制类型转换打印元音字母大小写10种形式的ASCII码。  输出的顺序为:大写的字母A,E,I,O,U的ASCII码,小写的字母a,e,i,o,u的ASCII码。所有的ASCII码都用十进制表示.输出10行,每行一个ASCII码,最后输出一个空行。 &n...

算法笔记_158:算法提高 逆序排列(Java)

/目录1问题描述2解决方案问题描述  编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中。当用户输入0时,表示输入结束。然后程序将把这个数组中的值按逆序重新存放,并打印出来。例如:假设用户输入了一组数据:719-5620,那么程序将会把前五个有效数据保存在一个数组中,即719-562,然后把这个数...

算法笔记_159:算法提高 第二大整数(Java)

/目录1问题描述2解决方案问题描述  编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束。然后程序将从这组整数中,把第二大的那个整数找出来,并把它打印出来。说明:(1)0表示输入结束,它本身并不计入这组整数中。(2)在这组整数中,既有正数,也可能有负数。(3)这组整数的个数不少于2个。  输入格式...

算法笔记_160:算法提高 约数个数(Java)

/目录1问题描述2解决方案 输入一个正整数N(1样例输入12样例输出6样例说明  12的约数包括:1,2,3,4,6,12。共6个   具体代码如下:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]a...

算法笔记_161:算法提高 十进制数转八进制数(Java)

/目录1问题描述2解决方案编写函数,其功能为把一个十进制数转换为其对应的八进制数。程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数。样例输入9274样例输出22072样例输入18样例输出22  具体代码如下: importjava.util.ArrayList;impor...

算法笔记_162:算法提高 复数归一化(Java)

/目录1问题描述2解决方案编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(a*a+b*b)+i*b/sqrt(a*a+b*b)。使用结构体指针类型作为函数参数可能是必要的。其中实部和虚部由键盘输入,输出为归一化结果,如果归一化结果的实部或虚部为小数的要求保留一位小数。样例输入:(...

算法笔记_163:算法提高 最大乘积(Java)

/目录1问题描述2解决方案问题描述  对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?输入格式  第一行一个数表示数据组数  每组输入数据共2行:  第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15,  第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值...

算法笔记_164:算法提高 最小方差生成树(Java)

/目录1问题描述2解决方案问题描述给定带权无向图,求出一颗方差最小的生成树。输入格式输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。输出格式对于每组数据,输出最小方差,四舍五入到0.01。输出格式按照样例。...

算法笔记_165:算法提高 道路和航路(Java)

/目录1问题描述2解决方案问题描述农夫约翰正在针对一个新区域的牛奶配送合同进行研究。他打算分发牛奶到T个城镇(标号为1..T),这些城镇通过R条标号为(1..R)的道路和P条标号为(1..P)的航路相连。每一条公路i或者航路i表示成连接城镇Ai(1<=A_i<=T)和Bi(1<=Bi<=T)代价...

算法笔记_166:算法提高 金属采集(Java)

/目录1问题描述2解决方案问题描述人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了。一些节点之间有道路相连,所有的节点和道路形成了一棵树。一共有n个节点,这些节点被编号为1~n。人类将k个机器人送上了火星,目的是采集这些金属。这些机器人都被送到了一个指定的着落点,S号节点。每个机器人在着落...

算法笔记_167:算法提高 矩阵翻转(Java)

/目录1问题描述2解决方案问题描述Ciel有一个N*N的矩阵,每个格子里都有一个整数。N是一个奇数,设X=(N+1)/2。Ciel每次都可以做这样的一次操作:他从矩阵选出一个X*X的子矩阵,并将这个子矩阵中的所有整数都乘以-1。现在问你经过一些操作之后,矩阵中所有数的和最大可以为多少。输入格式第一行为一个正整数N。接下...

算法笔记_168:历届试题 矩阵翻硬币(Java)

/目录1问题描述2解决方案问题描述  小明先把硬币摆成了一个n行m列的矩阵。  随后,小明对每一个硬币分别进行一次Q操作。  对第x行第y列的硬币进行Q操作的定义:将所有第i*x行,第j*y列的硬币进行翻转。  其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。  当小明对所有硬币都进行了一次Q操作后,他发现...

算法笔记_169:历届试题 兰顿蚂蚁(Java)

/目录1问题描述2解决方案问题描述  兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。  蚂蚁的头部朝向为:上下左右其中一方。  蚂蚁的移动规则十分简单:  若蚂蚁在黑格,右转90度,...
首页上一页...2627282930...下一页尾页