和尚数佛珠问题

问题:有一个和尚,他有两串佛珠,每串七七四十九颗,都按1-49的顺序编号,他念经有个怪癖,他每天念经前要把其中一串佛珠拆开散放进一个纸箱。摇一摇后从中摸出一颗珠子,看看上面的号码,比如说是23号,然后拿起另一串佛珠从第1号开始数,数到第23颗珠子(即23号珠子)便把它拿出来,接着又24号珠子开始数,数到第23颗(即46号珠子)时也把它拿出来,接着又从47号珠子开始数,数到第23颗(即20号珠子,因为珠子串成一串,49号与1号是连着的)时也把它拿出来,接着又从21号珠子开始数,数到第23颗(即44号珠子,注意,23号珠子原先已经被拿出,所以到44号)也把它拿出来……如此循环,每数到第23颗都要拿出来,即使最后珠子不足23颗,也要在剩下的珠子继续循环,直到剩下最后一颗。现在和尚想知道,当他每天从摇一摇后的纸箱里摸出一颗珠子(如上面的23号珠子),重复上面的做法后,最后剩下的那个珠子的号码是多少?

解答:

< %@ Page Language = " VB "  % >
< script runat = " server " >
    
Sub Page_Load(ByVal Sender As ObjectByVal E As EventArgs)
        
Dim i, Min As Integer
        
Dim X As Integer = 2
        
Dim Max As Integer = 5
        
Dim arr(Max, 2As Integer
        
For i = 0 To Max - 1
            arr(i, 
0= i + 1   '手中佛珠编号
            arr(i, 1= 1   '用来标记是否取出
        Next
        Min 
= Max
        i 
= 0
        
Do
            
If i = Max Then i = 0 '数过49则重新数
            If arr(i, 1= 1 Then
                
If arr(i, 0= X Then   '数至X便取出该珠
                    arr(i, 1= 0   '并将及标为0
                    Min = Min - 1   '珠的总数减1
                End If
            
End If
            i 
= i + 1
        
Loop Until Min = 1
        
For i = 0 To Max - 1
            
If arr(i, 1= 1 Then message.Text = "最后剩下的为" & arr(i, 0& "个珠" : Exit For
        
Next
    
End Sub

</ script >

< html xmlns = " http://www.w3.org/1999/xhtml "   >
< body >
    
< form id = " form1 "  runat = " server " >
        
< asp:label id = " message "  runat = " server " />
    
</ form >
</ body >
</ html >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值