日期:2014-05-20  浏览次数:20676 次

求帮忙写程序
求帮忙写程序:(这些题目我自己能分析,就是不会写出来,有些题关于数学的,本人数学很丢人。刚学完二重循环,请大家尽量用我能看懂的方法写,最好能加点注释,老师给了40道题,多半都写不出来,希望借鉴大家的方法,再去理解。)谢谢大家!


1.我国古代数学家张邱建在《算经》中出了一道“百钱买白鸡”的问题,题意是这样的:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

2。彩票生成系统:生成一组随机的双色球彩票(一共7个数字,前六位随机范围为1-33,最后一位范围1-16),使用数组保存生成的每次随机数。要求数组的前六位不能出现重复的数字。提示:使用数组和二重循环。

3.题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
程序分析:(a>b)?a:b这是条件运算符的基本例子。

4.题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。

5.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。程序分析:请抓住分子与分母的变化规律。

6.题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下
的是原来第几号的那位。

7.题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

8.题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),显示出总分最高的学生的学生号、姓名、三门课的平均成绩。(不考虑最高分

9.题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

10.题目:打印出杨辉三角形(要求打印出10行如下图)
1.程序分析:
  1
  1 1
  1 2 1
  1 3 3 1
  1 4 6 4 1
1 5 10 10 5 1







------解决方案--------------------
Java code

import java.util.Random;

public class Test
{
    public static void main(String[] args)
    {
        // 1. 百元买百鸡
        // 5X + 3Y + Z/3 = 100;
        // X + Y + Z = 100; ->
        // 15X + 9Y + (100 - X - Y) = 300; ->
        // 14X + 8Y = 200; ->
        // 7X + 4Y = 100;
        for (int i = 0; i < 100 / 4; i++)
        {
            if ((100 - i * 4) % 7 == 0)
            {
                int x = (100 - i * 4) / 7;
                int y = i;
                int z = 100 - x - y;
                System.out.println(x + ":" + y + ":" + z);
            }
        }

        // 2.彩票
        int[] caipiao = new int[7];
        for (int i = 0; i < 7; i++)
        {
            caipiao[i] = -1;
        }

        for (int i = 0; i < 6; i++)
        {
            int ran = new Random().nextInt(33) + 1;
            while (haveSame(caipiao, ran))
            {
                ran = new Random().nextInt(33) + 1;
            }
            caipiao[i] = ran;
        }

        caipiao[6] = new Random().nextInt(16) + 1;
        // 打印
        for (int i : caipiao)
        {
            System.out.println(i);
        }
    }


    public static boolean haveSame(int[] caipiao, int ran)
    {
        for (int i = 0; i < 6; i++)
        {
            if (caipiao[i] == ran)
            {
                return true;
            }
        }

        return false;
    }
}

------解决方案--------------------
Java code

    // 题目4
    public static void main(String args[])
    {
        int m = 0;
        int s = 0;
        int i = 0;
        int a[] = new int[1000];

        for (s = 2; s < 1000; s++)
        {
            m = 0;
            for (i = 1; i < s; i++)
            {
                if (s % i == 0)
                    a[i - 1] = i;
                else
                    a[i - 1] = 0;
            }
            for (i = 1; i < s; i++)
                m = m + a[i - 1];
            if (m == s)
                System.out.println(s);
        }
    }

------解决方案--------------------
import java.util.Random;

public class Test
{
public static void main(String[] args)
{
// 1. 百元买百鸡
// 5X + 3Y + Z/3 = 100;
// X + Y + Z = 100; ->
// 15X + 9Y + (100 - X - Y) = 300; ->
// 14X + 8Y = 200; ->
// 7X + 4Y = 100;
for (int i = 0; i < 100 / 4; i++)
{
if ((100 - i * 4) % 7 == 0)
{
int x = (100 - i * 4) / 7;