您的位置:首页 > 其它

双向链表一共7个孩子,从1号孩子开始顺时针数数, * 每个孩子数一个数,遇到7的倍数或数字中含有7,则该孩子不出声,只拍一下手, * 数数的方向逆转,下一个孩子数下一个数字,求100是哪个孩子数的

2014-03-30 17:23 381 查看
package com.zhangle.arithmetic;

/**

 * 一共7个孩子,从1号孩子开始顺时针数数,

 * 每个孩子数一个数,遇到7的倍数或数字中含有7,则该孩子不出声,只拍一下手,

 * 数数的方向逆转,下一个孩子数下一个数字,求第100是哪个孩子数的

 * @author lenovo

 *

 */

public class TwoWayLinklist {

private int data;
private TwoWayLinklist next;
private TwoWayLinklist pre;
public TwoWayLinklist(int x){
data=x;

}
public void append(TwoWayLinklist x) {
TwoWayLinklist p=this;
while (p.next!=null) {
p=p.next;
}
p.next=x;
}
public void appendPre(TwoWayLinklist x){
TwoWayLinklist p=this;
while (p.pre!=null) {
p=p.pre;
}
p.pre=x;
}

public static void main(String[] args) {
int No=1;//第几号人

int i=1;//数的数字
TwoWayLinklist t1=new TwoWayLinklist(i);
while (i<=100) {
i++;
if (i%7!=0) {
if ((i/7)%2==0) {//偶数向下走

t1.append(new TwoWayLinklist(i));
}
else {//奇数向前走
t1.appendPre(new TwoWayLinklist(i));
}
if (i==100) {
while (t1.next!=null) {
No++;
t1=t1.next;
}
while (t1.pre!=null) {
No++;
t1=t1.pre;
}
System.out.println("第"+No+"号小朋友数的100");
break;
}
}
else {
i++;
t1=new TwoWayLinklist(i);//7的整数倍清空一次
}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐