收藏 分销(赏)

java逻辑编程题.doc

上传人:仙人****88 文档编号:11398191 上传时间:2025-07-21 格式:DOC 页数:10 大小:56.50KB 下载积分:10 金币
下载 相关 举报
java逻辑编程题.doc_第1页
第1页 / 共10页
java逻辑编程题.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
1:字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba public String ioc(String resource){ String str=""; for(int i=resource.length();i>0;i--){ str+=resource.charAt(i); } return str; } 2:金额转换,阿拉伯数字的金额转换成中国传统的形式如: (¥1011)->(壹仟零壹拾壹元整)输出。 3:编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6, 应该输出为"我ABC"而不是"我ABC+汉的半个"。 4:现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为什么,并提供重置的方法 5:已知一组数字:21,25,11,32,12,35,55,77,66,要求按以下规则进行排序.第一个数最大,第二个数最小,第三个数字是剩下中的最大的,第四个数字是剩下的最小的,依次类推. 6:已知两个对像String s1,String s2,已用ASC码排序好了,编写程序将两个String 合并,得到的结果 例如:s1="abc" s2="abc" 得s="aabbcc";结果也是排序的 要求:不能用库函数; 7:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 8:题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 9:题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 10:题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 11:题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 12:题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 13:题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 14:题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 15:题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。 16:题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 17:题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 18:题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 19:题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。 20:题目:输入某年某月某日,判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。 21:题目:输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 22:题目:输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 23:题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 24:题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 25:题目:打印出如下图案(菱形) * *** ****** ******** ****** *** * 1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。 26:题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 1.程序分析:请抓住分子与分母的变化规律。 27:题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘。 28:题目:利用递归方法求5!。 1.程序分析:递归公式:fn=fn_1*4! 29:题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大? 1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。 30:题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 31:题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 32:题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 33:题目:求100之内的素数 34:题目:对10个数进行排序 1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。 35:题目:求一个3*3矩阵对角线元素之和 1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。 36:题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。 37:题目:将一个数组逆序输出。 1.程序分析:用第一个与最后一个交换。 38:题目:取一个整数a从右端开始的4~7位。 程序分析:可以这样考虑: (1)先使a右移4位。 (2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4) (3)将上面二者进行&运算。 39:题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 40:题目:输入3个数a,b,c,按大小顺序输出。 41:题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 42:题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 43:题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 44:题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 45:题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n 46:题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 47:题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。 48:题目:求0—7所能组成的奇数个数。 49:题目:一个偶数总能表示为两个素数之和。 50:题目:判断一个素数能被几个9整除 51:题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 52:题目:计算字符串中子串出现的次数 53:题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 54:一只公鸡值五文钱;一只母鸡值三文钱;三只小 鸡值一文钱;请问用一百文钱买一百只鸡,公鸡、母鸡和小鸡各有多少只? 55:打印0—N(0<=N<=9)的所有路径: 56:有一位厨师要从盛12斤油(a桶)的桶中倒出6斤油来,可是手边只有盛8 斤油(b桶)和盛5斤油(c桶)的两个桶,问如何操作才能将6斤取出来呢? 57:23,21,87,12,67,96,51,3,48,60 共10个数,从这10个数中任选4个数,形 成4个数的数组,如:87,60,96,3 及23,48,51,60.....,请编程输出4元 素的全部组合 58:输出一个字符数组中的所有字符的所有组合。比如有字符集str={A,B,C} 应输出:A B C AB AC BA BC CA CB ABC ACB BAC BCA CAB CBA 59:编程求解问题.若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第N年有多少头母牛? 60:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676 61:有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。 62:从键盘输入两个自然数N,R(N>R),要求输出从N到1中按降序顺序取R个自然数的所有组合和个数。 例如: 输入: N=5,R=3 输出: 543,542,541,532,531,521,432,431,421,321 Total=10 63:有3N个花盆,红色、蓝色、黄色各N个,按任意顺序排成一行。编程将各花盆按红、黄、蓝;红、黄、蓝;……红、黄、蓝的顺序排列,且要求花盆之间交换的次数最少。数字1表示红花盆,2表示黄花盆;3表示蓝花盆。要求输出每次交换后的状态和最少交换的次数 64:有2N十1个方格,左、右两边各放N个“+”子和N个“*”子。 例如N=4时,如下图所示: |+|+|+|+| |*|*|*|*| ' "|"用来分栏," "表示一个空格 试编程打印出用最少步数将上图中的“+”子和“。”子的位置进行交换的步骤。 移动规则如下: l)一次只能移动一个棋子; 2)棋子可以向空格中移动,也可以跳过对方的一个棋子进人空格,但不能向后跳,也不能跳过两个棋子。 65:有N枚硬币,将其按1,2,3,…,N编号排列(N>2),且正面都朝上。现从硬币2开始把编号为2的倍数的硬币翻一个面,再从硬币3开始把编号为3的倍数的硬币翻一个面,接着从硬币4开始把编号为4的倍数的硬币翻一个面。如此类推。直到最后将N号硬币翻一个面。问最后哪些硬币为正面朝上。编程,当从键盘输人N后,则输出结果是哪些硬币 66:某人去书店买书,他选中了六本书,价格分别为A、B、C、D、E、F,但他只带了50元钱。问怎样买法使总钱数最接近50元。A、B、C、D、E、F均由键盘输入 67:火车从始发站(称为第1站)开出,在始发站上车的人数为A;然后到达第2站,在第2站有人上、下车,但上、下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为A人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第N-1站),都满足此规律。现给出的条件是:共有N个车站,始发站上车的人数为A,最后一站下车的人数是M(全部下车)。请编程求出从X站开出时车上的人数是多少?输入为:A,N,M和X(N,X均小于23);输出为:X站开出时车上的人数。 68:1,2,5这三个数不同个数组合的和为1000的组合个数 69:将1-9这9个数字分成三个3位数,要求分出的第一个3位数,正好是第二个三位数的二分之一,是第三个3位数的三分之一 70:有一40千克的铅块,把它分成4块(每块为整数重量),用这4块铅块作为天平称的砝码,可以称出1----40千克任何重量(整数重量)的物体,问:如何分割? 注意: 1.天平两边都可以放砝码。 2.以上所有的数值均为整数,而不是小数。 3.一次性称出重量,而不能分步称出,然后求其总和。 71:某人有12品脱啤酒一瓶(品脱是英容量单位,1品脱=0.568升),想从中倒出6品脱。但是他没有6品脱的容器,只有一个8品脱的容器和一个5品脱的容器。怎样的倒法才能使8品脱的容器中恰好装好了6品脱啤酒? 72:一个桶装满10斤油,另外有一个能装3斤油的空桶和一个能装7斤油的空桶。试用这三个桶把10斤油平分为两份。 73:监狱里有100个犯人,有一天国王来视查的时候宣布,从今天起每天随机选一名犯人出来放风,放风的地方有一盏灯,他放风的时候可以打开或关闭,他不知道昨天放风的那个犯人是几号,明天谁放风也不知道,他放风后也不能向别的犯人传递任何信息,每天放风的人都是随机产生的,有的人可能短时间内出来放两次,也有人可能长时间内得不到一次放风机会。如果有一天犯人告诉国王所有的人都已经放过风了,他就把所有人都释放,但如果还有人没放过的话,他就杀掉所有犯人,问犯人应该怎么办? 74:请回答下面10个问题:   1、第一个答案是b的问题是哪一个?   (a)2;(b) 3;(c)4;(d)5;(e)6   2、唯一的连续两个具有相同答案的问题是:   (a)2,3;(b)3,4;(c)4,5;(d)5,6;(e)6,7;   3、本问题答案和哪一个问题的答案相同?   (a)1;(b)2;(c)4;(d)7;(e)6   4、答案是a的问题的个数是:   (a)0;(b)1;(c)2;(d)3;(e)4   5、本问题答案和哪一个问题的答案相同?   (a)10;(b)9;(c)8;(d)7;(e)6   6、答案是a的问题的个数和答案是什么的问题的个数相同?   (a)b;(b)c;(c)d;(d)e;(e)以上都不是   7、按照字母顺序,本问题的答案和下一个问题的答案相差几个字母?   (a)4;(b)3;(c)2;(d)1;(e)0。(注:a和b相差一个字母)   8、答案是元音字母的问题的个数是:   (a)2;(b)3;(c)4;(d)5;(e)6。(注:a和e是元音字母)   9、答案是辅音字母的问题的个数是:   (a)一个质数;(b)一个阶乘数;(c)一个平方数;(d)一个立方数,(e)5的倍数   10、本问题的答案是:   (a)a;(b)b;(c)c;(d)d;(e)e。 请用程序求解。 75:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一箱油可供一架飞机绕地球飞半圈。  问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?   (所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场) 76:设有两个自然数m,n,2〈=m<=99. S先生知道这两数的和s,P先生知道这两数的积p. 他们两人进行了如下的对话:S:我知道你不知道这两个数是什么,但我也不知道。   P:现在我知道这两个数了。   S:现在我也知道这两个数了。   由这些条件,试确定m,n. 77:老伯伯拿着鱼,带狗.猫过河到对岸. 有一条船. 只能坐一个人.老伯每次只能带一样动物过河. 当老伯不在的时侯 狗会咬猫.猫会吃鱼. 请问怎么顺序过河呢? 78:(不适合用程序)5个强盗(A,B,C,D,E)分100个金币。他们设定了一个规则: 从A开始给出分金币的提议,然后其余的强盗投赞同或反对票,如果反对票数大于或等于赞同票数, A就被杀掉,否则就按此提议分金币;如果A被杀了,接着就轮到B提议,然后同样按上述规则继续下去。 假设每一个强盗都是绝顶聪明的,而且他们的所有行为(提议与投票)都是对自己最有利的(即能够在保命的前提下得最多的钱)。请问这100个金币是怎么分的? 每个人各拿多少? 79:每3个可乐瓶可换一瓶可乐,问有28个人,每人都要喝一瓶可乐,至少得买多少瓶? 80:100个身高不同的人组成10*10的方 队,横队称为行,纵队称为列。从 每一行中挑出最高的一个人,共10 人,再从这10个人中挑出最矮的一 个人,记做甲;同时从每一列中挑 出最矮的一个人,共10人,再从这 十人中挑出最高的一个人,记做乙 ,甲和乙谁高,为什么? 81:有4个人在晚上通过一座摇摇欲坠的小桥.许多桥板已经毁坏,并且该桥每次只能让2个人通过(多于2个人桥就倒榻了).过桥的人必须要用到手电筒,不然一脚踏空就没命了.只有一只手电筒.4个人的行走速度不同:亚当用1分钟可以过桥,拉里需要2分钟,埃奇需要5分钟,最慢的博努需要10分钟.17分钟后桥就要倒塌了,请问:4个人要用什么方法才能通过桥? 82某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则: (1) 密码单词的最小长度是两个字母,可以相同,也可以不同 (2) K不可能是单词的第一个字母 (3) 如果L出现,则出现次数不止一次 (4) M不能使最后一个也不能是倒数第二个字母 (5) K出现,则N就一定出现 (6) O如果是最后一个字母,则L一定出现 问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词? A) K B)L C) M D) N 问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少? A)1个 B)3个 C)6个 D)9个 问题三:下列哪一个是单词密码? A) KLLN B) LOML C) MLLO D)NMKO 问题四:3个相同的字母可以构成的不同密码单词的总数是多少? A) 1个 B)2个 C) 3个 D) 4个 问题五:单词密码MMLLOKN可以通过下列变成另一个密码单词,除了: A) 用N代替每个L B)用O代替每一个M C)用O代替 D)把O移到N的左边 83:参加会议:有人邀请A,B,C,D,E,F6个人参加一项会议,这6个人有些奇怪,因为他们有很多要求,已知: 1.A,B两人至少有1人参加会议。 2.A,E,F3人中有2人参加会议。 3.B和C两人一致决定,要么两人都去,要么两人都不去。 4.A,D两人中只1人参加会议。 5.C,D两人中也只要1人参加会议。 6.如果D不去,那么E也决定不去。 那么最后究竟有哪几个人参加了会议呢?
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服