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

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的整数倍清空一次
}


}



}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值