天天看点

习题5.6 15红球和15个绿球排成一圈,从第1个球开始数,当数到第13个球时就拿出此球,然后再从下一个球开始数,当再数到第13个球时又取出此球,如此循环进行,直到仅剩15个球为止,问怎样排法才。。。

Java程序设计基础(第5版) 陈国君 清华大学出版社 个人设计

习题5.6 15红球和15个绿球排成一圈,从第1个球开始数,当数到第13个球时就拿出此球,然后再从下一个球开始数,当再数到第13个球时又取出此球,如此循环进行,直到仅剩15个球为止,问怎样排法才能使每次取出的球都是红球。

代码块:

package App;

public class App1
{
	public static void main(String[] args)
	{
		int[] ball=new int[30];
		int i, j, t;
		for(i=0; i<30; i++)
			ball[i]=i+1;
		System.out.println("The red ball number: ");
		for(i=0, j=0, t=30; t!=15; i++) 
		{
			if(i==30)
				i=0;
			if(ball[i]!=0)
				j++;
			if(j==13&&ball[i]!=0)
			{
				ball[i]=0;
				System.out.print(" "+(i+1)+" ");
				j=0;
				t--;
			}
		}
	}
}