连续自然数求和盲区

本文探讨了连续数求和的规律,提供了两种VBA算法实现,即nuk和qqq函数,用于计算任意两个整数之间的连续数之和。文章通过具体数值展示了连续数求和的频次和结果,揭示了连续数相加无法得到2的幂次方结果的有趣现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

连续数求和
频次1和2和3和4和5和6和7和8和9和10和11和
01          
023         
1356        
047910       
159121415      
161115182021     
17131822252728    
0815212630333536   
291724303539424445  
110192734404549525455 
11121303845515660636566
11223334250576368727577
11325364655637076818588
11427395060697784909599
3152942546575849299105110
016314558708191100108115121
117334862758798108117125132
2183551668093105116126135143
1193754708599112124135145154
12039577490105119132144155165
32141607895111126140153165176
122436382100117133148162175187
123456686105123140156171185198
124476990110129147164180195209
225497294115135154172189205220
126517598120141161180198215231
3275378102125147168188207225242
1285581106130153175196216235253
1295784110135159182204225245264
3305987114140165189212234255275
1316190118145171196220243265286
0326393122150177203228252275297
3336596126155183210236261285308
1346799130160189217244270295319
33569102134165195224252279305330
23671105138170201231260288315341
13773108142175207238268297325352
13875111146180213245276306335363
33977114150185219252284315345374
14079117154190225259292324355385
14181120158195231266300333365396
34283123162200237273308342375407
14385126166205243280316351385418
14487129170210249287324360395429
54589132174215255294332369405440
14691135178220261301340378415451
14793138182225267308348387425462
14895141186230273315356396435473
24997144190235279322364405445484
25099147194240285329372414455495
351101150198245291336380423465506
152103153202250297343388432475517
153105156206255303350396441485528
354107159210260309357404450495539
355109162214265315364412459505550
156111165218270321371420468515561
357113168222275327378428477525572
158115171226280333385436486535583
159117174230285339392444495545594
360119177234290345399452504555605
161121180238295351406460513565616
162123183242300357413468522575627
563125186246305363420476531585638
064127189250310369427484540595649
365129192254315375434492549605660
366131195258320381441500558615671
167133198262325387448508567625682
168135201266330393455516576635693
369137204270335399462524585645704
370139207274340405469532594655715
171141210278345411476540603665726
272143213282350417483548612675737
173145216286355423490556621685748
174147219290360429497564630695759
575149222294365435504572639705770
176151225298370441511580648715781
377153228302375447518588657725792
278155231306380453525596666735803
179157234310385459532604675745814
180159237314390465539612684755825
481161240318395471546620693765836
182163243322400477553628702775847
183165246326405483560636711785858
384167249330410489567644720795869
385169252334415495574652729805880
186171255338420501581660738815891
387173258342425507588668747825902
188175261346430513595676756835913
189177264350435519602684765845924
490179267354440525609692774855935
291181270358445531616700783865946
192183273362450537623708792875957
393185276366455543630716801885968
194187279370460549637724810895979
395189282374465555644732819905990
1961912853784705616517408289151001
1971932883824755676587488379251012
2981952913864805736657568469351023
5991972943904855796727648559451034
21001992973944905856797728649551045
11012013003984955916867808739651056

 

连续数相加无法得到的结果为:1,2,4,8,16,32,64…

为什么会有这样的结果

 

 

我用VBA写了两个算法:nuk 和 qqq

再有时间把2的N次方代入进去计算求解,我想问题就解开了

 

Function nuk() '
    Application.Volatile
    Dim a As Range
    Dim x As Long
    Dim y As Long
    Dim iSum As Long
    Dim i As Long
    
    Set a = Range(Application.ThisCell.Address(0, 0))
    x = a.Column  '返回横坐标
    y = a.Row  '返回纵坐标
    Set a = Nothing '清理
    
    If x > y Then
        nuk = ""
    Else
        iSum = 0
        i = 0
        Do While i <= y
            i = i + 1
            iSum = iSum + x + i
        Loop
        nuk = iSum
    End If
    
End Function

Function qqq()
    Application.Volatile
    Dim a As Range
    Dim x As Long
    Dim y As Long
    Dim iSum As Long
    Dim i As Long
    
    Set a = Range(Application.ThisCell.Address(0, 0))
    x = a.Column  '返回横坐标
    y = a.Row  '返回纵坐标
    Set a = Nothing
    
    If x > y Then
        qqq = ""
    Else
        qqq = (y - x + 1 + y) / 2 * x
    End If
End Function

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值