【计算机考试】JAVA语言,求答案!!!

第一题
编程让计算机自动产生n个随机三位整数,输出结果,求出最大数和最小数,输出结果。
第二题
编写程序用于输出1~100间的整数,并且此整数必须满足:它是3的倍数,但不是5的倍数,也不是9的倍数。求这些的和以及平均数。
第三题
一张单据上有一个5位数的密码1xx23,其中百位和千位数已模糊不清,但知道该数能被57或67除尽。设计一个算法,找出该单据原有可能的密码。
第四题
经了解,航空公司对旅客随身携带行李的费用计算标准为:20公斤以内免收行李费;若行李在40公斤以内,则20公斤以内仍免费,超过20公斤的部分每公斤按票价1.5%的标准收费;若在40公斤以上,除按一述标准收费处,超过40公斤部分加倍收费。试用程序来帮助计算小李所需的行李费。(用文本数据流方式输入数据)
第五题
使用穷举法输出100以内的所有素数,并输出素数的总数。
第六题
把一元钞票换成一分、二分、五分硬币(每种至少一枚),有多少种换法?
第八题
求出满足下列条件的三位自然数,该自然数的各个位数的数字的立方和等于该数本身。
第九题
用方法的调用的形式,求1+2!+3!+...+n!的和(用文本数据流方式输入n)
第十题
用文本数据流的方式输入a、b、c,求一元二次方程的根。
第十一题
有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
第十二题
用文本数据流方式输入n ,用循环语句求1-3+5-7+9-11+…+(2n-1)值。
第十三题
利用随机数生成一个包含n(n<50)个二位整数的数组,二位整数的数组的数值在[10,60],输出数组。并求出最大数和最小数,并显示出结果。
第十四题
有一分数数列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和(n用文本数据流方式输入)。
第十五题
百钱买百鸡问题:有一个人有一百块钱,打算买一百只鸡。到市场一看,公鸡5元一只,母鸡3元一只,小鸡一元3只。现在,请你编一程序,帮他计划一下,怎么样买法,才能刚好用一百块钱买一百只鸡?
第十六题

这是全部题目,能写多少写多少,财产都给你~~~
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出100以内的所有完数。
请做第十二到十六题,谢谢

第1个回答  2010-05-27
我倒想看看有谁来写完这些题目去
第2个回答  2010-06-02
第十二题
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class exc12 {

/**
* 求1-3+5-7+9-11+…+(2n-1)的和
*
* @param num 待处理n的数字
* @return 计算式的值
*/
public static Long sum(int num) {
Long sum = 0L;
for (int i = 0; i <= num; i++) {
if (i % 2 == 0) {
sum -= (2 * i - 1);
} else {
if (i == 1) {
sum = 1L;
} else {
sum += (2 * i - 1);
}
}
}

return sum;
}

public static void main(String args[]) {

// 在F盘下新建一个a.txt,然后在里面输入数据n
File file = new File("F:/a.txt");
BufferedReader br;
int txtNum = 0;
try {
// 读取储存文档中N的值
br = new BufferedReader(new FileReader(file));
String s = br.readLine();
if (s == null) {
System.out.println("请在文档(F:/a.txt)中输入N的值");
System.exit(0);// 退出程序
} else {
txtNum = Integer.parseInt(s);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
long result = sum(txtNum);
System.out.println("结果为" + result);
}
}

第十三题

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Random;

public class exc13 {

/**
* 生成随机数组
* @param @param 数组个数N
* @throws
*/
public static int[] createArray(int n) {
int[] arr = new int[n];
Random random = new Random();
for (int i = 0; i < n; i++) {
// 生成的二位整数的数组的数值在[10,60]
arr[i] = 10 + random.nextInt(51);
}
System.out.println("随机生产的数组数据为:");
for (int x = 0; x < arr.length; x++) {
if (x != arr.length - 1) {
System.out.print(arr[x] + " ,");
} else {
System.out.print(arr[x]);
System.out.println();
}

}
return arr;
}

public static void main(String args[]) throws IOException {

// 输入数组个数n

// 使用缓冲区(BufferedReader)从文本数据流读取文本数据

InputStreamReader reader = new InputStreamReader(System.in);

BufferedReader input = new BufferedReader(reader);

System.out.println("请输入数组个数N(n<50):");// 显示输入信息

String s = input.readLine();// 从键盘输入一个字符串

int n = Integer.parseInt(s);// 将字符串s转换为整数

if (n >= 50) {
System.out.println("输入的数必须小于50");
System.exit(0);
}
int[] arr = createArray(n);
Arrays.sort(arr);// 对随即生产的 int 型数组按数字升序进行排序。
System.out.println("数组中最小的值是:" + arr[0]);
System.out.println("数组中最大的值是:" + arr[arr.length - 1]);
}
}

第十四题

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class exc14 {

/**
* 求2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和
*
* @param num 待处理的数据项数
* @return 这个数列的前n项之和
*/
public static float sumN(int number) {

int[] num=new int[number+1];
num[0]=1;
num[1]=2;
float sumResult = 0;
for(int j=2;j<=number;j++){
num[j]=num[j-1]+num[j-2];
}
for(int i=1;i<=number;i++){
sumResult += (float)num[i]/num[i-1];
}

return sumResult;
}

public static void main(String args[]) {

//在F盘下新建一个a.txt,然后在里面输入数据n
File file = new File("F:/a.txt");
BufferedReader br;
int txtNum = 0;
try {
//读取储存文档中N的值
br = new BufferedReader(new FileReader(file));
String s = br.readLine();
if (s==null) {
System.out.println("请在文档(F:/a.txt)中输入N的值");
System.exit(0);//退出程序
}else{
txtNum = Integer.parseInt(s);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
float result = sumN(txtNum);
System.out.println("这个数列的前"+txtNum+"项之和为" + result);
}
}

第十五题,

public class cheak {
public static void main (String[] args) {
for (int i = 0; i<=33; i++)//公鸡
{

for (int j = 0; j<=20; j++) //母鸡
{

for (int k = 0; k<=100;k=k+3 )//小鸡
{

if((i+j+k)==100)
{

if((i*3+j*5+k/3)==100)
{System.out.println("公鸡数目: "+i+" 单价:3"+" 总价:"+i*3);
System.out.println("母鸡数目: "+j+" 单价:5"+" 总价:"+j*5);
System.out.println("小鸡数目: "+k+" 单价:1/3"+" 总价:"+k/3);
System.out.println("\n");
}

}}
}
}
}

}
运行结果:
公鸡数目: 4 单价:3 总价:12
母鸡数目: 12 单价:5 总价:60
小鸡数目: 84 单价:1/3 总价:28

公鸡数目: 11 单价:3 总价:33
母鸡数目: 8 单价:5 总价:40
小鸡数目: 81 单价:1/3 总价:27

公鸡数目: 18 单价:3 总价:54
母鸡数目: 4 单价:5 总价:20
小鸡数目: 78 单价:1/3 总价:26

公鸡数目: 25 单价:3 总价:75
母鸡数目: 0 单价:5 总价:0
小鸡数目: 75 单价:1/3 总价:25

第十六题

public class exc16 {

//是否为完数;
public static boolean isPerfectNumber(int i) {
int sumof = 0;
int j;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sumof += j;
}
}
return i == sumof;
}

public static void main(String args[]) {

System.out.print("100以内的所有完数有: ");
for (int i = 2; i <= 100; i++)
if (isPerfectNumber(i)) {
System.out.print(i+" ");
}

}
}
运行结果:
100以内的所有完数有: 6 28
相似回答