java
文章平均质量分 67
inavax_vem
喜欢编程,喜欢算法,现在开始写博客。
展开
-
加法器
/* * 问题描述 输入一个字符串表达式,输出它的结果,表达式中只包含加法和减法,且运算均在整数范围之内。 输入格式 一行,字符串表达式。表达式长度不会超过100。表达式最少有一项,且以等号=结束 输出格式 一行,输出结果。 样例输入 2+2345+913-3= 样例输出 3257*/import java.util.*;import java.math.BigDecima原创 2014-03-10 09:30:13 · 769 阅读 · 0 评论 -
各种进制转换
/*问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号, 分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推, 十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。 输入格式 输原创 2014-03-17 21:30:46 · 495 阅读 · 0 评论 -
格子位置
问题描述输入三个自然数N,i,j (1输入格式输入共三行,分别输入自然数N,i,j。其中保证N输出格式输出共四行。第一行为与格子(i,j)同行的所有格子的位置,第二行为与格子(i,j)同列的所有格子的位置,第三行为从左上到右下对角线上的格子的位置,第四行为从左下到右上对角线上的格子的位置。样例输入423样例输出(2,1)(2,2)(2,3)(2,4)原创 2014-03-19 09:29:40 · 880 阅读 · 0 评论 -
比赛安排
问题描述设有有2^n(n输入格式输入共一行,输入n的数值。输出格式输出共(2^n – 1)行,第i行输出第i天的比赛安排。格式为:A-B C-D ……。其中i是天数,A,B分别为比赛双方的编号,每行共2 n-1个比赛场次。样例输入2样例输出1-2 3-41-3 2-41-4 2-3import java.util.*;public class M原创 2014-03-19 12:04:13 · 957 阅读 · 0 评论 -
sine之舞
问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏, 寓教于乐,提高奶牛们的计算能力。 不妨设 An=sin(1–sin(2+sin(3–sin(4+...sin(n))...) Sn=(...(A1+n)A2+n-1)A3+...+2)An+1 FJ想让奶牛们计算Sn的值,请原创 2014-03-18 22:34:58 · 735 阅读 · 0 评论 -
字符串编辑
问题描述从键盘输入一个字符串(长度1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 ’s’ ,若字符串中有多个 ‘s’,则删除第一次出现的。2 I:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:I s d 表示在指定字符 ’s’ 的前面插入字符 ‘d’ ,若原串中有多个 ‘s’ ,原创 2014-03-19 09:51:57 · 1186 阅读 · 0 评论 -
cantor表
/*问题描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … 3/1 3/2 3/3 … 4/1 4/2 … 5/1 … … 我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,… 输入格式 一个整数N(原创 2014-03-29 13:03:39 · 523 阅读 · 0 评论 -
数的划分
/*问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。输入格式 n,k输出格式 一个整数,即不同的分法样例输入7 3样例输出4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}数据规模和约定 6<n原创 2014-03-28 16:10:36 · 589 阅读 · 0 评论 -
一元三次方程求和
/*问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数), 并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求三个实根。。 输入格式 四个实数:a,b,c,d 输出格式 由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位 样例输入 1 -5原创 2014-03-29 13:30:58 · 1286 阅读 · 0 评论 -
集合的运算
/* 问题描述 给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。 输入格式 第一行为一个整数n,表示集合A中的元素个数。 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。 第三行为一个整数m,表示集合B中的元素个数。 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。 集合中的所有元素均为int范围内的整数,n、m<=1000。 输出格式原创 2014-03-18 11:56:01 · 864 阅读 · 0 评论 -
16进制转化为8进制
package lan11;/* 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 注意 输入的十六进制数不会有前导0,比如01原创 2014-03-18 09:03:17 · 1408 阅读 · 0 评论 -
画长方形
/* 在Windows的控制台环境中,所有的字符都是等宽的,默认情况下窗口中每行有80个字符,每个屏幕有25行,组成了一个字符矩阵。 利用控制台的这个特点,我们可以在控制台上绘制简单的图形。下面给出了一个5*7的图形的例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 找出这个图形的特点,给出n和m,绘制一个n*m的图形。 输入格式 输入包含原创 2014-03-17 20:59:50 · 1495 阅读 · 0 评论 -
二叉树中,已知中序和后序序列,求先序序列
/*问题描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。输入格式 两行,每行一个字符串,分别表示中序和后序排列输出格式 一个字符串,表示所求先序排列样例输入BADCBDCA样例输出ABCD*/import java.util.*;public class Main{ public static String原创 2014-03-28 10:15:50 · 3587 阅读 · 0 评论 -
DNA序列
/*问题描述 人类基因组计划的第一阶段于2000年6月26日胜利结束,我国的科研工作者圆满地完成了其中的1%的测序工作。 众所周知,对于任意两个人来说,他们的染色体上的DNA序列大部分是相同的(否则就不是同一物种了),但是总会有少数碱基对不相同(否则世界上的人长得都一模一样了)。碱基的不同是由于基因的变异引起的。例如在某个人的DNA序列中,一位点上A突变成G。但每个人的DNA序列的变异位置都是原创 2014-03-10 09:31:24 · 1281 阅读 · 0 评论 -
求子串
/*问题描述 求一个长度为n的字符串中所有长度为k的子字符串,并将所有子串按字典序从小到大输出。 输入格式 输入共2行。 第一行为字符串,其长度为n(1≤n≤1000),字符串中不包含空格。 第二行一个整数k,0<k≤min(5, n)。 输出格式 输出共一行。 按从小到大排列的所有子字符串, 子串之间用空格隔开。 样例输入 HelloWorld 3 样例输出 Hel e原创 2014-03-15 15:18:08 · 983 阅读 · 0 评论 -
分解质因数
/*问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=2*2 5=5 6=2*3 7=7 8=2*2*2 9=3*3 10=2*5 提示 先筛出所有素数,然后原创 2014-03-16 10:48:41 · 394 阅读 · 0 评论 -
加法分解
/*问题描述 给一个正整数n,输出它所有的正整数加法的分解方法。 注意: 1. 根据输入的要求决定交换加数的位置是否视为不同的分解方案。 2. 不分解也视为一种分解方案。 3. 按字典序输出所有分解方案,格式见样例。 输入格式 输入共1行,包含2个正整数n和m,之间用一个空格隔开。n表示待分解正整数,m是1或者2: 1表示交换加数的位置是否视为不同的分解方案; 2表示交换加数的位原创 2014-03-15 16:46:02 · 4840 阅读 · 0 评论 -
构造Huffuman树的总费用
/*问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 2. 重复步骤1,直到{pi}中只剩下一个原创 2014-03-16 12:37:24 · 840 阅读 · 0 评论 -
素数环
/* 素数环: 输入正整数n,把整数1,2,3....,n组成一个环,使得相邻两个整数之和均为素数。 输出时从整数1开始逆时针排列。同一个环应恰好输出一次。n<=16 样例输入: 6 样例输出: 1 4 3 2 5 6 1 6 5 2 3 4 */import java.util.*;public class Main { public static int n; p原创 2014-03-16 10:06:23 · 544 阅读 · 0 评论 -
牛顿迭代
/* 问题描述 给定三次函数f(x)=ax3+bx2+cx+d的4个系数a,b,c,d,以及一个数z,请用牛顿迭代法求出函数f(x)=0在z附近的根,并给出迭代所需要次数。 牛顿迭代法的原理如下: 设xk是方程f(x)=0的精确解x*附近的一个猜测解,过点Pk(xk,f(xk))作f(x)的切线。该切线与x轴的交点比xk更接近方程的精确解程x*。 迭代公式为:xk+1= xk - f(x原创 2014-03-15 14:59:00 · 835 阅读 · 0 评论 -
幸运数
/* 1 标题:幸运数 幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。 首先从1开始写出自然数1,2,3,4,5,6,.... 1 就是第一个幸运数。 我们从2这个数开始。把所有序号能被2整除的项删除,变为: 1 _ 3 _ 5 _ 7 _ 9 .... 把它们缩紧,重新记序,为: 1 3 5 7 9 ..原创 2014-03-17 14:01:11 · 600 阅读 · 0 评论 -
最大公约数和最小公倍数问题
/* 输入二个正整数x0,y0(2<=x0<=100000,2<=y0<=100000),求出满足下列条件的P,Q的个数 条件: 1.P,Q是正整数 2.要求P,Q以x0为最大公约数,以y0为最小公倍数. 试求:满足条件的所有可能的两个正整数的个数.输入格式 两个数x0,y0输出格式 一个数表示答案样例输入3 60样例输出4样例说明 此时的 P Q 分别为原创 2014-03-28 08:42:44 · 910 阅读 · 0 评论 -
砝码称重
问题描述设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重输入格式a1 a2 a3 a4 a5 a6(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)输出格式Total=N(N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)样例输入1 1 0 0 0 0样例输出Total=3数据规模和约定总重im原创 2014-03-19 16:21:05 · 639 阅读 · 0 评论 -
进制转换(3)
问题描述设有一个字符串A$的结构为: A$=’mp’其中m为数字串(长度程序要求:从键盘上读入A$后(不用正确性检查),将A$中的数字串m(n进制),以p进制的形式输出。例如:A$=’488’其意义为:将10进制数48,转换成8进制数输出。输出结果为:48=60输入格式一行一个字符串A$。输出格式输出1行,一个字符串表示结果。样例输入488样例输原创 2014-03-19 17:53:06 · 716 阅读 · 0 评论 -
n*m棋盘的长方形个数和正方形个数
问题描述1.设有一个n*m方格的棋盘(1≤m,n≤100)。求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。 例如:当n=2,m=3时 正方形的个数有8个;即边长为1的正方形有6个;边长为2的正方形有2个。 长方形的个数有10个;即2*1的长方形有4个; 1*2的长方形有3个; 3*1的长方形有2个; 3*2的长方形有1个。 程序要求:输入:原创 2014-03-20 09:07:08 · 11770 阅读 · 1 评论 -
ISBN号码
问题描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其 中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出 版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社原创 2014-04-07 16:39:33 · 612 阅读 · 0 评论 -
分数之和
描述给你2个分数,求他们的和,并要求和为最简形式。输入输入数据有多组,每组数据1行,每行包含四个正整数a,b,c,d(都大于0且小于1000),表示两个分数a/b 和 c/d。输出对于每组测试数据,输出两个整数e和f,表示a/b + c/d的最简化结果是e/f,每组输出占一行。样例输入1 2 1 34 3 2 3样例输出5原创 2014-04-07 20:32:21 · 1245 阅读 · 0 评论 -
数的计算
/*问题描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 1. 不作任何处理; 2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.输入格式 一个数n输出格式 一个数表示答案样例输入6样例输出6原创 2014-03-27 08:15:21 · 846 阅读 · 0 评论 -
集合加法
描述给出2个正整数集合A = {pi | 1 输入第1行是测试数据的组数n,后面跟着n组测试数据。每组测试数据占5行,第1行是和s (1 注意:这里的集合和数学书上定义的集合有一点点区别——集合内可能包含相等的正整数。输出n行,每行输出对应一个输入。输出应是一个非负整数。样例输入299249 49250 501原创 2014-04-07 21:28:03 · 864 阅读 · 0 评论 -
字符串相等判断
描述判断两个由大小写字母和空格组成的字符串在忽略大小写和压缩掉空格后是否相等输入第1行是测试数据的组数n,每组测试数据占2行,第1行是第一个字符串,第2行是第二个字符串。每组测试数据之间有一个空行,每行数据不超过100个字符(注意字符串的长度可能为0)输出n行,相等则输出YES,否则输出NO样例输入3aaba aba A bb原创 2014-04-07 21:03:05 · 1991 阅读 · 0 评论 -
铺地毯
问题描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n 张地毯,编号从1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入格式 输入原创 2014-04-07 22:30:36 · 540 阅读 · 0 评论 -
瓷砖问题在讨论
问题描述 有一长度为N(1 例如,长度为4的地面一共有如下4种铺法,并且,一共用了长度为1的瓷砖4块: 4=1+2+1 4=1+3 4=2+2 4=3+1 编程求解上述问题。输入格式 只有一个数N,代表地板的长度输出格式 第一行有一个数,代表所有不同的瓷砖铺放方法的总数。 第二行也有一个数,代表这些铺法中长度为1的瓷砖的总数样原创 2014-04-08 22:29:05 · 1162 阅读 · 0 评论 -
火车过站
问题描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人。从第3站起(包括第3站)上、下车的人数有一定规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第n-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的原创 2014-04-10 20:39:18 · 2266 阅读 · 0 评论 -
数字根
package lan3;/*描述 正整数的数字根是将数位上的数字求和进行计算而来。如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根; 如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位数。 例如12,那么它的数字根就为1+2=3;例如39那么它的数字根就为3+9=12,1+2=3,最终为3。 输入 每行输入一个正整数,输入0表示结束。 输出 输出一个一位数原创 2014-02-23 19:43:54 · 712 阅读 · 0 评论 -
进制转换(3)
package lan13;/* * 问题描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式。例如:123可表示为 1*102+2*101+3*100这样的形式。 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的(值-1)为指数,以2为底数的幂之和的形式。一般说来,任何一个正原创 2014-03-25 19:40:07 · 635 阅读 · 0 评论 -
笨小猴
问题描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入格式原创 2014-04-03 22:43:42 · 532 阅读 · 0 评论 -
数字个数统计
问题描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。输入格式 输入包含n+1行: 第1行是整数n,表示自然数的个数。 第2~n+1行每行一个自然数。输出格式 输出包含m行(m为n个自然数中不相同数的个数),原创 2014-04-01 20:45:53 · 963 阅读 · 0 评论 -
三角形,什么叫暴力。。。。
问题描述 将1,2,······,9共9个数排成下列形态的三角形。 a b c d e f g h i 其中:a~i分别表示1,2,······,9中的一个数字,并要求同时满足下列条件: (1)a (2)b (3)a+b+d+f=f+g+h+i=i+e+c+a=P 程序要求: 根据输入的边长之和P 输出所有满足上述条件原创 2014-03-20 10:07:41 · 1659 阅读 · 1 评论 -
寻找三位数
问题描述将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。例如:三个三位数192,384,576满足以上条件。输入格式无输入输出格式输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。public class Main6 { public static int[] arrays = {原创 2014-03-20 12:08:57 · 1098 阅读 · 1 评论 -
筛选法求素数
import java.util.*;public class Main3 { public static int n; public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); n = sc.nextInt(原创 2014-03-20 21:18:15 · 439 阅读 · 0 评论