A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Just_Only 高级黑马   /  2013-6-23 01:46  /  7188 人查看  /  71 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Just_Only 于 2013-6-29 20:41 编辑

{:soso__4011813854091704040_4:}为了能兼顾技术好点的和刚学习不久的,题目分为三个等级

要求:
      1.题目要自己做出来,要写明思路和步骤(可以合在一起)
      2.将程序写的清晰明了.注释到位.
      3.回复的时候把代码贴出来,和运算后结果的图片,
         不会弄图片的贴出结果来,不要蒙混过关,我会检查的,不合格者不给于技术分哦
      4. 需要写出完整代码,不要用几句术语草草了事。
      5.代码放到代码块中,不要压缩包(压缩包没分)
      6.要写注释,没注释的没分...
      7.对于本次活动的题目或是加分,存在异议的可以联系我。。。有奖励的哦...
加分说明:
             题目分为三个等级然后给予相应的分,全部做得四分,简单的各一分,做一半得三分,然后根据答题的排版和格式或是答题个数会酌情的给予特殊的奖励。
附加:      
       对于简单的题目或是一般的题目我想大神们都懂滴,那么就不要凑热闹的啦!!!每周日更新(持续几周不定)
       不说多的啦,上题目的啦,大家踊跃参加的啊,你的支持是我们服务的最大动力哦。
简单:
      1.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
      2.有五个人坐在一起,问第五个人是多少岁,他说比第四个人大两岁。问第四个人是多少岁,他说比第三个人大两岁。问第三个人是多少岁,他又说比第二个人大两岁.,问第二个人,他又说比第一个人大两岁。问最后一个人,他只是说10岁,请问第五个人多大。

一般:
      1.一球从一百米高度自由下落,每次落地后反跳原来高度的一半,再落下,求它在第10次落地时,共进过多少米?第十次反弹多高?
      2.有1,2,3,4四个数字,能组成多少个互不相同的且没有重复数字的三位数,都是多少,并且将所得的三位数按升序排列并打印。

较难:
      1.将一个正整数分解质因数,例如:输入参数90,打印出90=2*3*3*5;
      2.输入两个正整数m和n,求其最大公约数和最小公倍数。
由于评分标准的更改,给大家带来的不便,请大家谅解,由于经验不足,有考虑不周的地方,希望大家谅解。

评分

参与人数 2技术分 +1 黑马币 +8 收起 理由
张勇1993 + 1 + 5 很给力!
神之梦 + 3 赞一个!

查看全部评分

71 个回复

正序浏览
  1. double height = 100;  //初始化球落地时的高度
  2.             double sum = 0;  //和
  3.             sum=sum+100;  //初始化
  4.             for (int i = 0; i < 10; i++)
  5.             {
  6.                 sum = sum + height;
  7.                 height = height / 2;
  8.             }
  9.             Console.WriteLine("第10次落地共经过{0}米,第10次反弹高度为{1}米", sum, height);
  10.             Console.ReadKey();

  11.             //结果分别为:299.8046875和0.09765625;
复制代码
回复 使用道具 举报

第一题错误,这个活动已经结束了,可以看第二周的,你也可以看看这些题目,看看自己能不能做。。。
回复 使用道具 举报
  1. int num = 5;
  2.             int years;
  3.             int cout = 10;
  4.             int d1 = 2;
  5.             years = cout + (num - 1) * d1;
  6.             Console.WriteLine("第五个人{0}岁", years);
  7.             Console.ReadKey();
  8.             //运行结果:18
复制代码
回复 使用道具 举报
  1. int num, dnum;  //定义分子和分母
  2.                         int a, b;
  3.                         double sum;  //和

  4.                         a = 2;  //定义初始值
  5.                         b = 1;

  6.                         sum = (double)a / b;  //初始值

  7.                         for (int i = 0; i < 20; i++)
  8.                         {
  9.                                 num = a + b;
  10.                                 dnum = a;
  11.                                 sum = sum + (double)num / dnum;  
  12.                                 a = num;
  13.                                 b = dnum;
  14.                         }

  15.                         Console.WriteLine("和为{0}", sum);
  16.                         Console.ReadKey();
  17.                         //结果为:34.2782947888172
复制代码
回复 使用道具 举报
/**
* 求分数前20项之和
*/
public class Sum {
        public static void main (String[] args){
                System.out.println(sumFenShu(20));
        }

        public static double sumFenShu(int n){
                float fenzi = 2F;
                float fenmu = 1F;
                float sum = 0F;
                float tmp;
                for(int i = 0; i < n; i++){
                        sum += fenzi/fenmu;
                        tmp = fenzi;
                        fenzi = fenzi +fenmu;
                        fenmu = tmp;
                       
                }
                return sum;
        }
}

结果.PNG (1.74 KB, 下载次数: 0)

结果.PNG

评分

参与人数 1技术分 +1 收起 理由
Just_Only + 1 继续加油!!!

查看全部评分

回复 使用道具 举报
  1. package Demo;

  2. import java.util.Scanner;

  3. public class JiaoNan2 {

  4.         /**
  5.          * 输入两个正整数m和n,求其最大公约数和最小公倍数。
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 // TODO Auto-generated method stub
  10.                 System.out.print("请输入m的值:");
  11.                 Scanner sc = new Scanner(System.in);
  12.                 int m = sc.nextInt();
  13.                 System.out.print("请输入n的值:");
  14.                 int n = sc.nextInt();
  15.                 int a = gongyue(m,n);
  16.                 int a1 = gongbei(m,n);
  17.                 System.out.print("最大公约数为:"+a+"\n"+"最大公倍数为:"+a1);
  18.         }
  19.         public static int gongyue(int m, int n) {
  20.                 while(m % n != 0) {
  21.                 int temp = m % n;
  22.                 m = n;
  23.                 n = temp;
  24.                 }
  25.                 return n;
  26.         }

  27.                 //求m和n的最小公倍数
  28.                 public static int gongbei(int m, int n) {
  29.                 return m * n / gongyue(m, n);
  30.         }

  31. }
复制代码
如果m=18,n=12;结果为:
请输入m的值:18
请输入n的值:12
最大公约数为:6
最大公倍数为:36

评分

参与人数 1技术分 +4 收起 理由
Just_Only + 4 赞一个!

查看全部评分

回复 使用道具 举报
  1. package Demo;

  2. import java.util.Scanner;

  3. public class JiaoNan1 {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) {
  8.                 // TODO Auto-generated method stub
  9.                         System.out.print("请输入你想分解质因数的正整数:");
  10.                         Scanner sc = new Scanner(System.in);
  11.                         int a = sc.nextInt();
  12.                         Demo(a);
  13.         }
  14.          private static void Demo(int a){
  15.                   System.out.print("分解质因数后为:"+a+"=");
  16.                   for(int i=2;i<a+1;i++){
  17.                    while(a%i==0 && a!=i){
  18.                     a =a/i;
  19.                     System.out.print(i+"*");
  20.                    }
  21.                    if(a==i){
  22.                     System.out.println(i);
  23.                     break;
  24.                    }
  25.                 }
  26.         }
  27. }
复制代码
如果输入90的话,输出结果为:
请输入你想分解质因数的正整数:90
分解质因数后为:90=2*3*3*5
回复 使用道具 举报
camml 中级黑马 2013-6-28 17:59:58
65#
本帖最后由 camml 于 2013-6-28 18:03 编辑

  1. <P>
  2. <P>class Test2 {
  3.         public static void main(String[] args)  {
  4.                         getAge();
  5.         }
  6.         //定义一个获取第五个人年龄的方法
  7.         public static void getAge(){
  8.                  //定义第一个人年龄,并对第五个人年龄进行初始化
  9.                 int x1 = 10,x5 = 0;
  10.                 //进行四次循环获得第五个人年龄
  11.                 for(int i = 0;i < 4;i++)  {                                                            </P>
  12. <P>                         x1 = x1 + 2;
  13.                          x5 = x1;
  14.                 }
  15.                 //对第五个人年龄进行输出打印
  16.                 sop("x5 = "+ x5);
  17.                         }
  18.         //定义一个输出函数
  19.         public static void sop(Object obj){
  20.                  System.out.println(obj);
  21.         }
  22. }</P></P>
复制代码

微博桌面截图_4.jpg (4.13 KB, 下载次数: 0)

微博桌面截图_4.jpg

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
Just_Only + 1 + 3 第一题不对。。。鼓励一下。

查看全部评分

回复 使用道具 举报
  1. package Demo;

  2. public class ZhongDeng2 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.         int a = 0;
  9.         for(int i = 1; i <= 4; ++i)
  10.             for(int y = 1; y <= 4; ++y)
  11.                 for(int j = 1; j <= 4; ++j)
  12.                     if(i != y && y != j && i != j && ++a != 0)
  13.                         System.out.println("第."+a+"个数:"+i+""+y+""+j);
  14.         System.out.println("一共有:" + a + "个");
  15.         }

  16. }
复制代码
结果是:
第.1个数:123
第.2个数:124
第.3个数:132
第.4个数:134
第.5个数:142
第.6个数:143
第.7个数:213
第.8个数:214
第.9个数:231
第.10个数:234
第.11个数:241
第.12个数:243
第.13个数:312
第.14个数:314
第.15个数:321
第.16个数:324
第.17个数:341
第.18个数:342
第.19个数:412
第.20个数:413
第.21个数:421
第.22个数:423
第.23个数:431
第.24个数:432
一共有:24个
回复 使用道具 举报
camml 中级黑马 2013-6-28 17:57:30
63#
本帖最后由 camml 于 2013-6-28 17:58 编辑
  1. /*
  2. 第一题;求出分数1/2+2/3+3/5+5/8+8/13+....+的前20项的和
  3. public class Test1{
  4.         public static void main(String[] args){
  5.                   add();
  6.         }
  7.         //定义一个add方法,用来求出前20项的和
  8.         public static void add(){
  9.                           double A = 1,B = 2,C = 0,sum = 0;

  10.                          //定义一个for循环,将加法循环20次
  11.                 for(int i=1;i<=20;i++){
  12.                    //输出前20项的每个分数
  13.                  sop(A+"/"+B);

  14.                      sum = sum + A/B;
  15.                   //将A B的值进行调整得到下一个分数
  16.                 C=B;
  17.                     B=B+A;
  18.                     A=C;
  19.                   }
  20.                   sop("前20项的和为:"+sum);
  21.         }
  22.         //定义一个输出打印方法
  23.         public static void sop(Object obj){
  24.                  System.out.println(obj);
  25.         }
  26. }
复制代码

微博桌面截图3.jpg (23.21 KB, 下载次数: 0)

微博桌面截图3.jpg
回复 使用道具 举报
  1. package Demo;

  2. public class ZhongDeng1 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                         double a =100;
  9.                         double b =0;
  10.                         for(int i=1;i<=10;i++){
  11.                                 b = b +a;
  12.                                 a /= 2;
  13.                         }
  14.                         System.out.println("第十次弹起:"+a+"米!");
  15.                         System.out.println("总共经过了:"+b+"米!");
  16.         }

  17. }
复制代码
结果是:
第十次弹起:0.09765625米!
总共经过了:199.8046875米!
回复 使用道具 举报
  1. package Demo;

  2. public class JianDan2 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                         int a =10;//定义第一个人的岁数
  9.                         for(int i=1;i<=4;i++){//定义一个for循环,后一个人都比前一个人大2岁,第一个人前面有4个人,所以循环4次。
  10.                                 a +=2;
  11.                         }
  12.                         System.out.print("第五个人是"+a+"岁");//输出第四次循环时的结果,也就是第五个人的年龄
  13.         }

  14. }
复制代码
结果为——第五个人是18岁
回复 使用道具 举报
上面忘记写运算结果了……结果为——分数序列之和为32.66026079864164
回复 使用道具 举报
  1. package Demo;

  2. public class JianDan1 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.                 double sum = 0;
  9.                  
  10.                 double a = 2.0;
  11.                  
  12.                 double b = 1.0; //分子为b 分母为a 你这里应该是分母为b,分子为a把
  13.                  
  14.                 for(int n=1; n<=20; n++) // 定义一个for循环,是求前20项。
  15.                  
  16.                 {
  17.                  
  18.                 sum+=(double)a/(double)b;//序列求和
  19.                  
  20.                 double temp=b;//定义一个第三方变量,将b的值取出来
  21.                  
  22.                 b=a;
  23.                  
  24.                 a+=temp;
  25.                  
  26.                 }
  27.                  
  28.                 System.out.println("分数序列之和为"+sum);
  29.         }

  30. }
复制代码
回复 使用道具 举报
本帖最后由 ゞ傀儡鮭鮭ぃ 于 2013-6-28 13:08 编辑

第一题
java代码:
class one
{
    public static void main(String args [])
{
        double sum = 0;
        double a = 2.0;
        double b = 1.0;
         double c = 0;   //分子为b  分母为a
          for(double n=1; n<=20; n++)
{
            sum+=(double)a/(double)b; //序列求和
            c=a;
            a+=b;
            b=c;          //求下一项序列
        }
        System.out.println("分数序列之和为"+sum);
    }
}
程序分析:先观察出序列之间的联系,根据分子分母之间的变化关系,算出每一项,再利用for循环进行求和.
运行结果:

第二题
java代码:
class two{
   static int getAge(int n)
{
    if (n==1)
{
     return 10;   //第一个人年龄
}
    return getAge(n-1)+2; //逆推,一次增加2年
   }
   public static void main(String[] args) {
    System.out.println("第五个年龄为:"+getAge(5));//获取第五个人年龄
   }
}
程序分析:利用递归,知道第五个人的年龄之后推第四个年龄,由此,知道第一个人年龄,再反推.
运行结果:

第三题
java代码:
class three{
public static void main(String [] args)
{
int n=1 ;//弹跳数
double s=100;//初始高度100米
double h=s/2;//第一次碰到地面反弹高度
for(n=1;n<10;n++){
s=s+h*2;//第n次落地经过多少米
h=h/2;//第n次反弹的高度
}
System.out.println("第"+n+"次落地经过"+s+"米");
System.out.println("第"+n+"次反弹"+h+"米");
}
}
//程序思路:这是绝对值小于1的无穷递缩等比数列,首项a1为100,公比q=1/2,路程求和极限,先用for循环求和,再把a10表示出来即可.
//运行结果 :

第四题
java 代码:
class four{
public static void main(String [] args)
{
int i=0;
int a=1;
int b=1;
int c=1;
for(a=1;a<=4;a++)
for(b=1;b<=4;b++)
for(c=1;c<=4;c++)//按顺序自动生成所有三个1234随机数的组合
if(a!=b&&b!=c&&c!=a&&i++!=0)//抽取互不相同且无重复数字的三位数
System.out.println("第"+i+"个数是:"+a+""+b+""+c);
System.out.println("有"+i+"个");
}
}
//程序思想:先按顺序自动生成所有三个1234随机数的组合,再根据互不相同且无重复数字的条件逐步筛选,并计算出组合数个数,打印输出.
运行结果:


第五题
java代码:
import java.util.*;
class five{
public static void main(String [] args){
System.out.println("java分解正整数质因数案例");
System.out.println("请输入一个合适的正整数,并按Enter确认");
Scanner sc=new Scanner(System.in);
int Num=sc.nextInt();
//首先,我们需要得到,输入的这个数Num的一半以内的所有质数
Vector<Integer> vec=new Vector<Integer>();
Lab:for(int i=2;i<=Num;i++){
for(int j=2;j<=i/2;j++){
if(i%j==0&&i!=2){//说明能被整除,则i不是质数
continue Lab;
}
}
//内层for正常完成后,说明i是质数
vec.add(i);//添加到列表
}
//下面开始分解质因数
System.out.println(Num+"的分解结果是:\n");
System.out.print(Num+"=");
int theNum=Num;
boolean help=true;
for(int k=0;k<vec.size();k++){
int zhi=(int)vec.get(k);
if(theNum<zhi)
break;
if(theNum%zhi==0){//说明能被整除,则zhi就是Num的一个质因数
if(help==true){
System.out.print(zhi);
help=false;
}else{
System.out.print("*"+zhi);
}
k--;//因为,完全有可能Num还能被zhi整除,
//所以重新执行一遍
theNum=theNum/zhi;
}
}
}
}
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。运行结果:


第六题

java代码:
import java.util.*;
class     six{  
public static void main(String[] args) {
  int   a ,b,m;
  Scanner s = new Scanner(System.in);
  System.out.print( "键入一个整数: ");
  a = s.nextInt();System.out.print( "再键入一个整数: ");
  b = s.nextInt();      
  // new 一个类 目的是调用类中的方法 deff
   deff cd = new deff();      
   // 调用类中的方法 deff 获得最大公约数
  m = cd.deff(a,b);      
  
  // 计算最小公倍数
  int n = a * b / m;      
  System.out.println("最大公约数: " + m);      
  System.out.println("最小公倍数: " + n);
}
}class deff {
public int deff(int x, int y) {
  int t;
  // 如果x<y 则将x和y的值互换
  if (x < y) {
   t = x;
   x = y;
   y = t;
  }
  
  //程序执行到这里 x肯定大于或者等于y
  
  while (y != 0) {
   // 如果x和y相等,那么他们的最大公约数是x
   if (x == y){
    return x;
   }
   // 当x和y不相等的时候 将y的值赋值给x 将原x的值和y的余数赋值给y
   // 这时候x依然大于或者等于y 接着进行下一轮计算
   // 一直循环下去,当k为0的时候,x就是最大公约数了
   else {
    int k = x % y;
    x = y;
    y = k;
   }
  }
  return x;
}
}
程序设计:利用辗转相除法,先输入两个随机正数,然后通过数学思想求出最大公约数和最小公倍数.


运算结果:



评分

参与人数 1技术分 +4 收起 理由
Just_Only + 4 很给力!

查看全部评分

回复 使用道具 举报
再搞一题,求指教
  1. /**一般:
  2. Test1.一球从一百米高度自由下落,每次落地后反跳原来高度的一半,再落下,求它在第10次落地时,共进过多少米?第十次反弹多高?
  3. *auther @ 倪成伟
  4. */
  5. /*
  6. 思路:1.通过循环递减来计算第十次反弹的高度
  7.           2.通过一个数组来接受每次反弹的高度
  8.       3.通过循环累加来记录第十次落地共进行了多少米
  9. */
  10. class Jump
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 int x=0,y=0;     //初始化高度,并且定义两个变量来记录结果
  15.                 double m=100,sum=0;
  16.                 double[] arr=new double[10];                //定义一个数组来接受每次反弹的高度
  17.                 while(y<10)                                                //while循环来得出反弹高度
  18.                 {
  19.                         m=m/2;
  20.                         arr[y]=m;
  21.                         y++;
  22.                 }
  23.                 System.out.println("第十次反弹高度        "+m);
  24.                 for(m=100;x<10;x++)                                //用for循环来初始化m值,并累加高度
  25.                 {
  26.                         sum+=(arr[x]*2);
  27.                 }
  28.                 sum=sum+100;                                                //加一百记录第一次落下所走得路
  29.                 System.out.println("反弹十次共进多少米        "+sum);
  30.         }
  31. }
复制代码

2N[CJQ22)IE`0IIJEL$NGKS.jpg (10.92 KB, 下载次数: 0)

2N[CJQ22)IE`0IIJEL$NGKS.jpg

评分

参与人数 1技术分 +2 收起 理由
袁梦希 + 2 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 杨晓燕 于 2013-6-28 11:18 编辑

我总是那么后知后觉啊,{:soso_e120:}先贴一个试试,【第一题】请杨大哥多多关照
  1. /*
  2. 需求:有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
  3. 思路:1,要先定义一个变量记录总和,为float类型
  4. 2,定义一个自增变量,控制循环次数,这里我们使用的是for循环
  5. 3,根据分数数列的规律,设置分母初始值为x=1,分子初始值为y=2;
  6. */

  7. class Test1
  8. {
  9. public static void main(String[] args)
  10. {
  11. float sum=0f; //定义一个记录总和的变量,不要在循环里面定义,因为循环结束,该变量就在内存中释放了
  12. float x=1f,y=2f;//定义分母和分子的初始值,也不要在循环里面定义,否则每次循环都会重新初始化该值
  13. for(int i=1;i<=20;i++)
  14. {

  15. sum+=y/x;
  16. float temp=y;//定义一个第三方变量,将分子y的值取出
  17. y=y+x; //根据需求,分子的值=分子+分母
  18. x=temp; //根据需求,分母的值=前一个分数的分子
  19. }
  20. System.out.println(sum);
  21. }
  22. }
复制代码

2.jpg (11.09 KB, 下载次数: 0)

2.jpg

评分

参与人数 1技术分 +2 收起 理由
袁梦希 + 2 很给力!

查看全部评分

回复 使用道具 举报
我改了下不知道对不对,如果这也错了,那是不是我的思路有问题,求指导
  1. /**
  2. *Test2.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
  3. *auther@倪成伟
  4. */
  5. /*思路:1.建立两个数组分别接受前20项分子分母的值
  6.         2.然后通过一个累加的方法实现且20项的和
  7. */
  8. class Sum
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                 //定义两个长度为20的数组分别接受分子分母的值
  13.                 double arr1[]=new double[20];
  14.                 double arr2[]=new double[20];
  15.                 //初始化前两项的值
  16.                 arr1[0]=2.0;
  17.                         arr1[1]=3.0;
  18.                 arr2[0]=1.0;
  19.                 arr2[1]=2.0;
  20.                 //通过一个for循环来算出前数组中的元素
  21.                 for(int x=2,y=2;x<=19;x++,y++)
  22.                 {
  23.                         arr1[x]=arr1[x-2]+arr1[x-1];
  24.                         arr2[y]=arr2[y-2]+arr2[y-1];
  25.                 }
  26.                 double sum=0;                //用来接受累加的值
  27.                 //在通过一个for循环来实现累加
  28.                 for(int m=0,n=0;m<=19;m++,n++)
  29.                 {
  30.                         sum=sum+(arr1[m]/arr2[n]);
  31.                 }
  32.                 System.out.println("前20项之和 "+sum);
  33.         }
  34. }
复制代码

$FP9]_5B8PZ)_AF7_)9CE70.jpg (11.32 KB, 下载次数: 0)

第二题

第二题

评分

参与人数 1技术分 +2 收起 理由
Just_Only + 2 辛苦了,加油。。。

查看全部评分

回复 使用道具 举报
今天先写两个简单的后面的有点难,以后在写,不知道对不对,给你们看看
  1. /** Test1.有五个人坐在一起,问第五个人是多少岁,他说比第四个人大两岁。问第四个人是多少岁,他说比第三个人大两岁。问第三个人是多少岁,他又说比第二个人大两岁.,问第二个人,他又说比第一个人大两岁。问最后一个人,他只是说10岁,请问第五个人多大。
  2. *@ auther 倪成伟
  3. */
  4. /*
  5. 思路:1.通过一个for循环4次实现累加
  6. */
  7. class FifthOld
  8. {
  9.         public static void main(String[] args)
  10.         {
  11.                 int x=10;
  12.                 for(int y=1;y<5;y++)                //用for循环实现4次累加
  13.                 {
  14.                     x+=2;
  15.                 }
  16.                         System.out.println("FifthOld="+x);

  17.         }
  18. }
复制代码
下面是第二题
  1. /**
  2. *Test2.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
  3. *auther@倪成伟
  4. */
  5. /*思路:1.建立两个数组分别接受前20项分子分母的值
  6.         2.然后通过一个累加的方法实现且20项的和
  7. */
  8. class Sum
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                 //定义两个长度为20的数组分别接受分子分母的值
  13.                 int arr1[]=new int[20];
  14.                 int arr2[]=new int[20];
  15.                 //初始化前两项的值
  16.                 arr1[0]=2;
  17.                         arr1[1]=3;
  18.                 arr2[0]=1;
  19.                 arr2[1]=2;
  20.                 //通过一个for循环来算出前数组中的元素
  21.                 for(int x=2,y=2;x<=19;x++,y++)
  22.                 {
  23.                         arr1[x]=arr1[x-2]+arr1[x-1];
  24.                         arr2[y]=arr2[y-2]+arr2[y-1];
  25.                 }
  26.                 int sum=0;                //用来接受累加的值
  27.                 //在通过一个for循环来实现累加
  28.                 for(int m=0,n=0;m<=19;m++,n++)
  29.                 {
  30.                         sum=sum+(arr1[m]/arr2[n]);
  31.                 }
  32.                 System.out.println("前20项之和 "+sum);
  33.         }
  34. }
复制代码

R(_(Z6L3)LC1BZBVFHIJNE3.jpg (12.23 KB, 下载次数: 0)

第一题

第一题

M[ILD6}8SR60D[_@S9BWO(Y.jpg (9 KB, 下载次数: 0)

第二题

第二题

评分

参与人数 1黑马币 +3 收起 理由
Just_Only + 3 奖励一下。。。

查看全部评分

回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马