java创建一个图形类getv_java建立类和对象分糖果

10个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖果分一半给左边的小孩;糖块为奇数的人可向老师要一块。问经过这样几次后,大家手中的糖的块数将一样多?每人各有多少块糖?

Input

多组数据,每组数据为10正整数,分别为游戏开始时,每个小孩手中的糖果数。

Output

游戏结束后,游戏的次数及每人的中的糖果数。

Sample Input

10 2 8 22 16 4 10 6 14 20

Sample Output

17 18

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in=new Scanner(System.in); //创建输入对象

while(in.hasNextInt())

{

int child[]=new int[20]; //定义一个数组

for(int i=0;i<10;i++)

{

child[i]=in.nextInt();

}

Child dc=new Child(child, 0); //创建一个新类

while(dc.judg()==false)

{

dc.divid();

}

dc.output();

}

in.close();

}

}

class Child

{

private int num[]; //私有域

private int count=0;

public Child(int child[], int count) //构造器

{

num=child;

this.count=count;

this.sum=sum;

}

public void divid() //从右到左分糖果

{

count++; //计数器

int m=num[0];

for(int i=0;i<9;i++)

{

num[i]=num[i]/2+num[i+1]/2;

}

num[9]=num[9]/2+m/2; //第1个小孩分给第10个小孩

for(int i=0;i<10;i++) //判断小孩手中的糖是否为奇数

{

if(num[i]%2==1)

num[i]++;

}

}

public boolean judg() //判断小孩手中的糖是否相等

{

for(int i=0;i<9;i++)

{

if(num[i]!=num[i+1])

return false;

}

return true;

}

public void output()

{

System.out.print(count);

System.out.print(" "+num[0]+" ");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值