摘要: 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。1.程序分析:请抓住分子与分母的变化规律。 编程实现:public class ScoresSum{ public static void main(String args[]){ float sum = 0; int item = 20; int mod = 2; int den = 1; int temp; for(int i=1; i<=item; i++){ sum = sum+mod/den; temp = mol; ... 阅读全文
posted @ 2012-01-30 13:27 qin520 阅读(1704) 评论(1) 推荐(0) 编辑
摘要: 题目:打印出如下图案(菱形)。1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。编程实现:import java.util.*;public class PrintDiamond{ public static void main(String []args){ int line; System.out.print("Please input the lines of a diamond:"); Scanner scanner = new Scanner(System.in); line = scan... 阅读全文
posted @ 2012-01-29 19:20 qin520 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 题目:打印九九乘法表。编程实现:public class MulTables{ public static void main(String []args){ for(int i=1; i<=9; i++){ for(int j=1; j<=i; j++){ System.out.print(i+"*"+j+"="+i*j+" "); } System.out.println(); } }} 阅读全文
posted @ 2012-01-29 14:40 qin520 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目:求1+2!+3!+...+20!的和 。程序分析:n!=n*(n-1)!,利用递归实现阶乘,再相加。编程实现:public class FactorialSum{ public static void main(String []args){ int sum = 0; int i; for(i=1; i<=20; i++){ sum += factorial(i); } System.out.println("1`20阶乘相加结果:"+sum); } private static int factorial(int number){ i... 阅读全文
posted @ 2012-01-28 22:52 qin520 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。编程实现:import java.util.*;public class DecPrime{ public static void main(String []args){ int number 阅读全文
posted @ 2012-01-28 22:37 qin520 阅读(1332) 评论(0) 推荐(0) 编辑
摘要: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。编程实现:public class PeachProblem{ public static void main(String []args){ int day = 10; int count = 1; //第十天剩下的peach for(int i=1; i<day; i++){ co... 阅读全文
posted @ 2012-01-28 15:21 qin520 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 分析:不借组新的变量编程实现:import java.util.*;public class Comparison{ public static void main(String args[]){ int x,y,z; Scanner scanner = new Scanner(System.in); System.out.println("Please input three number:"); System.out.print("第一个数为:"); x = scanner.nextInt() 阅读全文
posted @ 2012-01-27 21:14 qin520 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: 题目:打印杨辉三角形。1.程序分析:1 11 1211331146411 5 10 10 5 1 特点:杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1。第n行的数字个数为n个。第n行数字和为2n−1。除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和。编程实现:import java.util.*;public class YangHui{ public static void main(String args []){ System.out.print("Plz input the rows of YangHui:"); 阅读全文
posted @ 2012-01-26 20:51 qin520 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 题目:用1、2、3、4、5这五个数字,打印出所有不同的数字排列,如:51234、41235、31254等,要求:"4"不能在第三位,"3"与"5"不能相连,一个排列中数字不能重复。题目分析:该五个数字组合实际上是一个数,这个数中最大为54321,最小为12345,因此可以用循环遍历出来。编程实现:public class RankNumber{ private static String [] number = new String [] {"1","2","3"," 阅读全文
posted @ 2012-01-25 17:01 qin520 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。编程实现:import java.util.*;public class DaffodilTest{ public static void main(String args[]){ int hundred = 0; int ten = 0; int bit = 0; for(int 阅读全文
posted @ 2012-01-25 15:58 qin520 阅读(350) 评论(0) 推荐(0) 编辑