java逻辑编程题.docx
- 文档编号:5490288
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:11
- 大小:25.94KB
java逻辑编程题.docx
《java逻辑编程题.docx》由会员分享,可在线阅读,更多相关《java逻辑编程题.docx(11页珍藏版)》请在冰豆网上搜索。
java逻辑编程题
1:
字符串的操作:
写一个方法,实现字符串的反转,如:
输入abc,输出cba
publicStringioc(Stringresource){
Stringstr="";
for(inti=resource.length();i>0;i--){
str+=resource.charAt(i);
}
returnstr;
}
2:
金额转换,阿拉伯数字的金额转换成中国传统的形式如:
(¥1011)->(壹仟零壹拾壹元整)输出。
3:
编程:
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,
应该输出为"我ABC"而不是"我ABC+汉的半个"。
4:
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为什么,并提供重置的方法
5:
已知一组数字:
21,25,11,32,12,35,55,77,66,要求按以下规则进行排序.第一个数最大,第二个数最小,第三个数字是剩下中的最大的,第四个数字是剩下的最小的,依次类推.
6:
已知两个对像Strings1,Strings2,已用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
11
121
1331
14641
15101051
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}
应输出:
ABCABACBABCCACBABCACBBACBCACABCBA
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)KB)LC)MD)N
问题二:
如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
A)1个B)3个C)6个D)9个
问题三:
下列哪一个是单词密码?
A)KLLNB)LOMLC)MLLOD)NMKO
问题四:
3个相同的字母可以构成的不同密码单词的总数是多少?
A)1个B)2个C)3个D)4个
问题五:
单词密码MMLLOKN可以通过下列变成另一个密码单词,除了:
A)用N代替每个LB)用O代替每一个MC)用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也决定不去。
那么最后究竟有哪几个人参加了会议呢?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 逻辑 编程