自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不如一默

我会用一生好好爱我的宝贝!!!

  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 JDK1.5中的多线程升级方案

JDK1.5中提供了多线程升级解决方案,将synchronized替换为了显示的Lock操作。将Object中的wait、notify、notifyAll替换为了condition对象(该对象可以通过Lock锁进行获取)。有关Lock接口以及condition对象的详细介绍请查找官方API,这里不做详细介绍,我只是想通过两个例子来对比一下synchronized和Lock。使用sy

2015-07-22 10:01:59 283

原创 Java懒汉式设计模式与多线程

懒汉式单例设计模式:public class Single { private static Single single = null; private Single() { } public static Single getInstance() { if (single==null) { single=new Single(); } return single

2015-07-21 15:10:41 1243

原创 Java多线程--售票代码

使用继承自Thread类的子类:同步块:/** * 继承Thread类的售票类 * * @author XINY * */class TicketT extends Thread { // 票数,起始数量为100 private static int tick = 100; //随便写的一个对象,如没特殊要求可随便实例化一个对象,用于同步块中传入的值。 //为保证每个

2015-07-21 14:32:18 636

原创 Infinity和NaN

今天,偶然发现当double类型的数除以0的时候编译器竟然没有报错,运行结果为Infinity。  结果为:Infinity 我自己有点纳闷,因为这是我第一次遇到Infinity,差了一下才知道,它的意思就是无穷大 。 我联想到Java中的另一个特殊的值NaN,我试着改变a的值,看是否能出现NaN。终于当我将a的值改变为0时,输出结果为NaN,即 0/0

2015-07-20 19:41:45 3337

原创 网络寻路

X国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同的转发路径。     源地址和目标地址可以相同,但中间节点必须不同。     如图1所示的网络。    1 -> 2 -> 3 -> 1  是允许的        1 -> 2 -

2015-07-19 22:30:28 494

原创 埃及分数

古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。古埃及喜欢把一个分数分解为类似: 1/a + 1/b 的格式。     这里,a 和 b 必须是不同的两个整数,分子必须为 1     比如,2/15 一共有 4 种不同的分解法(姑且称为埃及分解法): 1/8 + 1/1201/9 + 1/451/10 + 1/301/12 + 1/20  

2015-07-19 22:28:32 1560

原创 排座位

要安排:3个A国人,3个B国人,3个C国人坐成一排。要求不能使连续的3个人是同一个国籍。求所有不同方案的总数?参考代码: #include int a[10]={0}; int b[9]={0}; int number=0; int place(int t){ int i,j,count1,count2,count3; for(i=0;i<=t-2;

2015-07-19 22:23:10 1134

原创 幻方填空

幻方是把一些数字填写在方阵中,使得行、列、两条对角线的数字之和都相等。     欧洲最著名的幻方是德国数学家、画家迪勒创作的版画《忧郁》中给出的一个4阶幻方。     他把1,2,3,...16 这16个数字填写在4 x 4的方格中。     如图p1.jpg所示,即: 16?  ? 13?  ?  11 ?9  ? ?  *?  15 ?  1

2015-07-19 22:20:47 2700

原创 龟兔赛跑预测

问题描述  话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数

2015-07-19 22:15:49 374

原创 黑色星期五

在西方,星期五和数字 13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。要求:输入年份,输出是:判断该年是否包含黑色星期五,如包含,给出具体日期参考代码: #include int main() { int month[10]; int a[13]={0,12,43,71,102,132,163,

2015-07-19 22:14:03 2973 1

原创 集合划分

问题描述:给定含有n个元素的集合{1,2,...,n},可以将其划分为若干非空子集。例如,当n=4时,集合{1,2,3,4}可以构造15个不同的划分,如下。    {{1},{2},{3},{4}}    {{1234}}   {{1},{234}};{{2},{134}};{{3},{124}};{{4},{123}}    {{12},{34}};{{13},{24}};{{1

2015-07-19 22:04:36 1803

原创 错误票据

某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。 假设断号不可能发生在最大和最小号。要求程序首先输入一个整数N(N接着读入N行数据。每行数据长度不等

2015-07-19 21:58:28 679

原创 金币阵列

问题描述:有m*n枚金币在桌面上排列成一个m行n列的金币阵列。每一枚金币或正面朝上,或背面朝上。用数字表示金币状态,0表示正面朝上,1表示背面朝上。金币阵列游戏的规则是:    (1)每次将任一行金币翻过来放在原来的位置上。    (2)每次可以任选2列,交换这2列金币的位置。   任务:给定金币的初始状态和目标状态,编程计算按金币游戏规则,将金币排列从初始状态变换到目标状态所需的

2015-07-19 21:54:44 502

原创 运动员打靶问题

射击运动员m发打中n环有多少种可能,编写程序计算出来,并显示出结果,0环和10环均有效。参考代码:#include "stdio.h"int *score;int number;int sum=0;void shot(int m, int n) //打m次,打中n环{ if (n10*m) return; else { if(m==1) { sco

2015-07-15 06:12:49 596

原创 轮换

串“abcd”每个字符都向右移位,最右的移动到第一个字符的位置,就变为“dabc”。这称为对串进行位移=1的轮换。同理,“abcd”变为:“cdab”则称为位移=2的轮换。参考代码:#include #include #include void shift(char* s, int n){ char* p; char* q; int len = strlen(s);

2015-07-14 22:51:50 535

原创 转方阵

对一个方阵转置,就是把原来的行号变列号,原来的列号变行号     例如,如下的方阵:  1 2  3  4 5 6  7  8 9 10 11 1213 14 15 16     转置后变为:  1 5  9 13 2  6 1014 3  7 1115 4  8 1216     但,如果是对该方阵顺时针旋转(不是转置),却是如下结

2015-07-14 22:50:35 407

原创 车票找零

公交车票价为5角。假设每位乘客只持有两种币值的货币:5角、1元。再假设持有5角的乘客有m人,持有1元的乘客有n人。由于特殊情况,开始的时候,售票员没有零钱可找。我们想知道这m+n名乘客以什么样的顺序购票则可以顺利完成购票过程。显然,m=n的时候,有些情况也不行。比如,第一个购票的乘客就持有1元。下面的程序计算出这m+n名乘客所有可能顺利完成购票的不同情况的组合数目。注意:只关心5角和1元交替出现的

2015-07-14 22:47:03 398

原创 芯片测试

问题描述  有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。  每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。  给出所有芯片的测试结果,问哪些芯片是好芯片。输入格式  输入数据第一行为一个整数n,表示芯片个数。  第二行到第n+

2015-07-14 22:45:22 1996

原创 罗马数字

古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念!     罗马数字的表示主要依赖以下几个基本符号:     I  1    V  5    X  10    L  50   

2015-07-14 22:43:42 615

原创 精确到小数点后N位

两个整数相除,将小数点精确到N位(四舍五入):参考代码:#include#include#define N 7int main(){ int i,temp,a,b; char result[N]={'0'}; a=3,b=7; temp=a; //整数部分 for(i=0;i<N;i++) { if(temp<b) { result[i]='.'

2015-07-14 22:38:44 2221

原创 立方数之和

输入正整数n,求将n分解为若干个正整数的立方和有多少种方法?例如,21有3种写法,77有22种写法。参考代码:#include #includeint m,count;int F(int M,int N){ int i,y,z,k=0; for(i=2;i<M;i++) { y=(int)pow(i,3); if(N>y) { k=N/

2015-07-14 22:36:55 1909

原创 立方和等式

考虑方程式:a^3 + b^3 = c^3 +d^3其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。这个方程有很多解。比如:a = 1,b=12,c=9,d=10就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729。当然,a=12,b=1,c=9,d=10显然也是解。如果不计abcd交换次序的情况,这算同一个解。你的任务

2015-07-14 22:32:43 864

原创 硬币存钱

小明去银行存钱,拿了一堆硬币。已知1角的硬币厚度为1.8mm,5 角的硬币厚1.5mm ,1元的硬币为2.0mm 。小明将1 角的硬币放成一摞,将5 角的硬币硬币放成一摞,将1元的硬币放成一摞,发现3摞硬币一样高。银行正好把这些硬币换成若干张面值为10 元的纸币。问小明至少带了多少钱的硬币(元为单位),每种面值的硬币有多少个? 要求输出格式为: 1 角的数量,5 角的数量,1元的数量,总金

2015-07-14 22:30:46 890

原创 石子合并问题

在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选择相邻的两堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。测试用例:    4(石子的堆数)    4 4 5 9(每一堆的石子数目)输出:    43    53参考代码:动态规划方法求合并过程

2015-07-14 22:26:22 403

原创 矩阵连乘问题

问题描述:给定一组可以连乘的矩阵,求最佳相乘顺序,使得总的计算次数最少。参考代码:方法一:动态规划 #include void traceback(int i, int j, int **s) { if (i==j) return; traceback(i,s[i][j], s); traceback(s[i][j]+1,j,s); printf("A

2015-07-14 22:23:22 716

原创 抽象类与接口的区别

1.抽象类:用关键字abstract修饰的类称为抽象类。抽象类的特点:(1)抽象类中可以有抽象方法;若一个类中有抽象方法则该类必须为抽象类。与普通类相比,抽象类可以有抽象方法(abstract方法),也可以有非抽象方法。对于抽象类,只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法。下面的A类中的min方法是抽象方法: abstr

2015-07-14 21:53:12 349

转载 Undefined Behaviour

c语言中的未定义行为(undefined behaviour)是指C语言标准未做规定的行为。同时,标准也没有要求编译器判断未定义行为,所以这些行为由编译器自行处理,在不同的编译器可能会产生不同的结果,又或者如果程序调用未定义的行为,可能会成功编译,甚至一开始运行时没有错误,只会在另一个系统上,甚至是在另一个日期运行失败。当一个未定义行为的实例发生时,正如语言标准所说,“什么事情都可能发生”。也许什

2015-07-14 21:19:34 721

原创 矩阵乘法-2

问题描述  输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。输入格式  第一行,空格隔开的三个正整数m,s,n(均不超过200)。  接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。  接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。输出格式  m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。样例输入2 3 2

2015-07-14 14:15:47 364

原创 矩阵乘法-1

问题描述  给定一个N阶矩阵A,输出A的M次幂(M是非负整数)  例如:  A =  1 2  3 4  A的2次幂  7 10  15 22输入格式  第一行是一个正整数N、M(1  接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式  输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开样例

2015-07-14 14:14:02 2577

原创 猜算式

看下面的算式: □□ x□□ =□□ x□□□ 它表示:两个两位数相乘等于一个两位数乘以一个三位数。 如果没有限定条件,这样的例子很多。 但目前的限定是:这9个方块,表示1~9的9个数字,不包含0。该算式中1至9的每个数字出现且只出现一次! 比如:46 x79 = 23 x 15854 x69 = 27 x 13854 x93 =

2015-07-14 14:11:46 995

原创 猜年龄

美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。     一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:    “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”参考代码: #include int

2015-07-14 14:10:21 369

原创 比酒量

有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复......直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。    等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船....

2015-07-14 14:06:31 348

原创 标准二维表

问题描述:   设n是一个正整数。2*n的标准二维表是由正整数1,2,…,2n组成的2*n数组,该数组的每行从左到右递增,每列从上到下递增。2*n的标准二维表全体记为tab(n)。例如,当n=3时,tab(3)二维表如下图所示。 123456 1

2015-07-14 14:03:00 1810

原创 杨辉三角

蓝桥杯填空题:#include#define N 10int main(){ int a[N]={0},i,j; printf("%-8d\n",a[0]=1); for(i=1;i<N;i++) { for(j=i;j>0;j--) a[j]+=a[j-1]; for(j=0;j<=i;j++) printf("%-8d",a[j]); putch

2015-07-14 13:52:31 239

原创 李白打酒

话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:        无事街上走,提壶去打酒。        逢店加一倍,遇花喝一斗。        这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。        请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:babaabbabbab

2015-07-14 13:48:59 337

原创 最长公共子序列

一个序列的子序列是该序列中删除某些元素后得到的序列。给定两个子序列X和Y,求二者的最长公共子序列。例如,X={A,B,C,B,D,A,B},Y={B,D,C,A,B,A},则二者的最长公共子序列为BCBA,它的长度为4。  #include void lcs(int m, int n,char *x,char *y,int **c,int **b) { int i,j;

2015-07-14 13:46:47 456

原创 最大最小公倍数

问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1 这道题,首先说明一下,公认的5,8,9,10四个测试数据有错误,详情看论坛。。。还有,类型用long long,题意很简单,就是求三个互质的数

2015-07-14 13:44:02 243

原创 最大子段和

给定n个整数(可能包含负数)组成的序列,求该序列子段和的最大值。 参考代码:常规方法1对所有可能进行遍历,找到最终结果#include#includeint main(){ int n; int sum=INT_MIN,*a,i,j,k,temp,besti,bestj; scanf("%d",&n); a=new int[n]; for(i=0;i<n;i+

2015-07-14 13:32:30 350

原创 最大公约数和最小公倍数

从键盘上输入两个整数m和n,求其最大公约数。辗转相除法  #include int main() { int a,b,num1,num2,temp; scanf("%d %d",&num1,&num2); if(num1<num2) { temp=num1; num1=num2; num2=temp; } a=num1;b=num2;

2015-07-14 13:31:20 282

原创 最多节目安排

Problem Description“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超

2015-07-14 13:29:31 340

Kettle Plugins.zip

Java调用Kettle的插件包

2020-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除