算法编程
文章平均质量分 60
编程题目练习
_4444yl
这个作者很懒,什么都没留下…
展开
-
动态规划理解
马尔科夫模型对于Ai+1,只需要考察前一个状态Ai即可,只要状态Ai确定,则计算Ai+1时不需要考察前面的的状态A1…Ai-1,在图论中,常称之为马尔科夫模型高阶马尔科夫模型对于Ai+1,需要考察前面i个状态集{A1…Ai-1Ai}才能完成整个推理过程,称之为高阶马尔科夫模型。在计算机算法中,高阶马尔科夫模型的推理叫做“动态规划”,马尔科夫模型的推理,对应“贪心法”。动态规划无论是动态...原创 2020-03-22 16:59:09 · 183 阅读 · 0 评论 -
异常处理
先从键盘输入一个十六进制数,再将其转化为十进制数,然后输出。若输入的不是一个有效的十六进制数,则抛出异常。package 第七章;import java.util.Scanner; /*File name:homework1.cppAuthor:yangliuDate:2017/11/14IDE:eclipsedescribe:Java异常处理*/class home原创 2017-11-13 21:17:29 · 215 阅读 · 0 评论 -
异常处理
先编写一个方法,它将格式为“yyyy/mm/dd”形式的日期字符串转化为日期对象。若日期字符串不符合以上规定,则抛出异常。再在main方法中对正常和异常输入的日期字符串分别进行验证,并输出转换后的日期对象package 第七章;import java.util.Date; /*File name:homework2.cppAuthor:yangliuDate:2017/11/原创 2017-11-13 21:18:18 · 360 阅读 · 0 评论 -
百元买百鸡
公鸡每只5文钱,母鸡每只3文钱,3只小鸡1文钱。现在用100文钱买100只鸡,问你这100只鸡里公鸡、母鸡、小鸡各几只?算法一:/*File name:百元买百鸡.cppAuthor:杨柳Date:2018/3/5IDE:DEV-c++ */#include #include #include using namespace std;原创 2018-03-05 19:10:03 · 984 阅读 · 0 评论 -
卡车要装载一批货物,货物有3种商品
2.卡车要装载一批货物,货物有3种商品:电视、计算机和洗衣机。需要计算出大货车和小货车各自所装载的3中货物的总重量。编写一个Java应用程序,要求有一个ComputeWeight接口,该接口中有一个方法:public double computeWeight(); 有3个实现该接口的类:Television、Computer和WashMachine。这3个类通过实现接口ComputeWeigh原创 2017-11-06 22:46:11 · 14170 阅读 · 0 评论 -
有一个abstract类,类名为Employee
1.要求有一个abstract类,类名为Employee。Employee的子类有YearWorker、MonthWorker和WeekWorker。YearWorker对象按年薪领取薪水,MonthWorker按月领取薪水,WeekWorker按周领取薪水。Employee类有一个abstract方法:Public abstract earnings();子类必须重写父类的earnings()方原创 2017-11-06 22:38:11 · 23836 阅读 · 4 评论 -
完数
package 完数;public class wanshu { public static void main(String[] args){ System.out.print("1000以内所有完数:"); for(int i=1;i<=1000;i++){ int[] a=new int[100]; int k=0; for(int t=1;t<=i;t++){原创 2017-10-31 19:22:01 · 225 阅读 · 0 评论 -
设计一个学生类Student
package 第四章;/*File name:TestStudent.cppAuthor:杨柳Date:2017/10/11IDE:eclipsedescription:学生类github:*/public class TestStudent { public static void main(String agsp[]){ Student stu=new Student原创 2017-10-11 17:18:47 · 18120 阅读 · 0 评论 -
模拟银行定期存款功能
1.模拟银行定期存款功能。创建银行定期存款账户类DepositAccount,其中包括:账号、储户姓名、存款余额、年利率等属性,和开户、存款、查询、计算利息等方法。要求用静态变量存储年利率,用私有实例变量存储其它属性。提供计算年利息的方法和计算月利息(年利息/12)的方法。另外编写一个测试程序测试该类,建立Account的对象saver(账号:1234567890,姓名:ZhangSan,定存50原创 2017-10-11 17:15:40 · 2101 阅读 · 1 评论 -
数字矩阵
package 第三章;import java.util.Scanner;/*File name:homework2.cppAuthor:杨柳Date:2017/9/20IDE:eclipsedescription:数字循环矩阵*/public class homework2 { public static void main(String[] args) { Sys原创 2017-09-28 20:03:26 · 401 阅读 · 0 评论 -
递归求桔子数
日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完 后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子原创 2017-05-17 19:29:12 · 1107 阅读 · 0 评论 -
递归求桃子数
有一堆桃子不知其数,猴子每天吃前一天的一半多一个,到第10天只剩一个,求桃子数/*File name:求桃子数.cppAuthor:杨柳Date:2017/5/22IDE:DEV-c++ *//*递归函数:f(n)={ 1 n=9 f(n+1)*2+2 n<10 (因为:f(n)-(f(n)/2+1)=f(n+1)) }其中n为天数,f(n)为第几天原创 2017-05-19 14:01:05 · 1850 阅读 · 0 评论 -
递归求鸭子数
一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?/*File name:duck.cppAuthor:杨柳Date:2017/5/23IDE:DEV-c++ *//*递归函数:f(n)={ 0 n=7 f(n+1)*2+2 n<7 (因为:f(n原创 2017-05-19 14:01:52 · 3607 阅读 · 0 评论 -
英语单词小助手
// 上机作业.cpp : 定义控制台应用程序的入口点。///**********英语单词小助手***********作者:yangliu版本:v1.0创建时间:2017/3/11主要功能: 1.词库维护:可以增加、删除、修改和查询单词(中英文查询) 2.单词预览:将文件中的单词在屏幕上显示中英文词义。 3.单词背诵与检测(中英):随机显示中文词汇,用户需输入正确的英原创 2017-05-22 21:18:38 · 603 阅读 · 0 评论 -
统计英文文件中单词数和各单词出现的频率(次数)
/*File name:词频统计.cppAuthor:杨柳Date:2017.3.25IDE:DEV-c++ */#include #include #include #define MAX_NUM 100000struct Word //单词结构体{int num;//单词频数char ch[20];//每一个单词} word[MAX_NUM];int原创 2017-05-22 21:20:47 · 14844 阅读 · 3 评论 -
多种排序算法求中位数
/*File name:求中位数.cppAuthor:杨柳Date:2017/5/25IDE:DEV-c++ 思想:把无序数组排好序,取出中间的元素*/#include#includeusing namespace std;#define MAX 100int array[MAX],arr[MAX];int result=0;//保存中位数 //简单选择排序 int原创 2017-06-12 22:39:15 · 1740 阅读 · 0 评论 -
一个长二进制串,求除3的余数
有一个很长二进制串,求出除以3的余数是多少,给出算法的时间复杂度/*File name:一个长二进制串,求除3的余数.cppAuthor:杨柳Date:2017/5/30IDE:DEV-c++算法思想:首先应该二进制转化为十进制的数n,然后再将十进制数取余3,时间复杂度为:若有n个二进制串,只有一个for循环O(n)。*/#include #include原创 2017-06-12 22:43:50 · 3948 阅读 · 0 评论 -
任意的进制转换
任意进制转换/*File name:任意进制转换.cppAuthor:杨柳Date:2017/5/30IDE:DEV-c++ 算法思想:首先应该将任意进制number1转化为十进制的数number2,然后再将十进制数转化为任意进制进制的数number3。*/#include #include #include using namespace std; //原创 2017-06-12 22:45:09 · 487 阅读 · 0 评论 -
值按照指定顺序输出来
一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。例:n=1237则输出为:1237,2474,4948,9896,9896,4948,2474,1237,package 第三章;import java.util.Scanner;/*File name:homework原创 2017-09-28 19:58:37 · 313 阅读 · 0 评论 -
电话号码对应的字符组合
电话号码对应的字符组合:在电话或者手机上,一个数字如2对应着字母ABC,7对应着PQRS。那么数字串27所对应的字符的可能组合就有3*4=12种(如AP,BR等)。现在输入一个3到11位长的电话号码,请打印出这个电话号码所对应的字符的所有可能组合和组合数。/*File name:电话号码对应的字符组合.cppAuthor:杨柳Date:2017/5/23IDE:DEV-c++ */原创 2017-05-17 19:27:30 · 4521 阅读 · 0 评论 -
递归求角谷定理
角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。如:输入22 输出 22 11 34 17 52 26 13 40 20 10 5 16 8 4 1 STEP=16/*File name:角谷定理.cppAuthor:杨柳Date:2017/5/2原创 2017-05-17 19:24:44 · 5598 阅读 · 0 评论 -
求一个最小的一个大于N并且二进制权重与N相同的数
一个数的二进制权重被定义为该数十进制表示下转二进制数中'1'的个数,如:例:/*File name:求权值相同最小数.cppAuthor:yangliu Date:2017/5/11IDE:DEV-c++ */#includeusing namespace std;#define M 20int static i=0;/*int count(int n){原创 2017-05-11 22:54:24 · 639 阅读 · 0 评论 -
求两个数的交集,使用map容器和vector容器
Two sets of integers A and B, Find its intersection(usemap vector c++标准容器)Solving problems using C++/*File name:求交集.cppAuthor:杨柳Date:2017/5/4IDE:DEV-c++ */#include #include#include #in原创 2017-05-11 17:33:19 · 878 阅读 · 0 评论 -
查找次最大数
Write a function to find the second largest number in an array of integers/*File name:查找次大数.cppAuthor:杨柳Date:2017/5/4IDE:DEV-c++ */ #include using namespace std; //先找出最大的数,放进a[o],在从a[1]到a[原创 2017-05-11 17:32:06 · 492 阅读 · 0 评论 -
一组字符串的最大公共前缀
Longest Common Prefix(找出所有字符串的最长公共前缀):Write a function to find the longest commonprefix string amongst an array of strings.Subscribe to see which companies asked thisquestion.例如:ABCDC ABDFRE ABC原创 2017-05-11 17:26:58 · 1392 阅读 · 0 评论 -
Roman to Integer and Integer to Roman
Roman to IntegerGiven a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.Subscribeto seewhich companies asked this question.Solving problemsus原创 2017-05-04 20:04:45 · 211 阅读 · 0 评论 -
编程模拟老师的询问
· 题目描述老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 ),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩接下来又M行,每一行原创 2017-05-04 20:01:13 · 1445 阅读 · 0 评论 -
c语言求最大公约数三种算法
算法设计思路:1.用辗转相除法求两个数的最大公约数 输入两个整数m,n,将大的值给m,小的值给n。令t=m%n,当t不为0,m=n,n=t,当余数为0时,n的值为最大公约数。2.相减法求两个数最大公约数 输入两个整数m,n,将大的值给m,小的值给n。大数减小数,直到相等为止,m或n的值为最大公约数。3.穷举法求两个数最大公约数 输入原创 2017-03-20 19:27:26 · 2351 阅读 · 0 评论 -
两个数换值四种方法实现
// 两个数换值.cpp : 定义控制台应用程序的入口点。///*program:两个数换值作者:杨柳创建时间:2017/3/18IDE:visual studio 2012OS:windows10-Ultimate*/#include "stdafx.h"#includeint flag=1;void main(){ void swap1(int a,int b);原创 2017-03-18 21:53:34 · 389 阅读 · 0 评论 -
求n个数最小公倍数
算法设计思路: 1.用一个数组a[n]存n个要求最小公倍数的数,分别为a[0]a[1]到a[n-1],先用辗转相除法GCD(a,b)求两个数最大公约数,然后LCD(a,b)=a*b/ GCD(a,b)求最小公倍数,先求a[1]= LCD(a[0]a[1]),再求a[2]= LCD(a[1]a[2]),依次下去,最后a[n-1]=LCD(a[n-1]a[n-2])为结果。 2.穷原创 2017-03-18 14:48:52 · 5370 阅读 · 0 评论
分享