幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!
ZigZag遍历任意二维数组
https://www.autoahk.com/?p=40109
觉得这个代码比上次的那个要完善精简许多,上次代码可能还是错误的!
欢迎指点~
您好,想请问一下:
1)如何在回复中能类似 https://www.autoahk.com/archives/3217 帖子中 惮殃 回复带代码形式?
2)评论发布后是否可以编辑或者删除呢?
谢谢~
回复中代码段贴上去好像有问题,会自动被删除字符?
复制后:if (a_index1)
global ar:=object()
a:="6" ;行
b:="6" ;列
c:=a+b-1
make_array(a,b)
tmp:=ar[1,1] . "|"
loop, % c
{
if (a_index1)
{
sn1:=a_index
sn2:=a_index+1
loop, % sn1
{
if (mod(sn1,2)=1) ;奇数
{
tmp.=ar[a_index, sn2-a_index] . "|"
}
else
{
tmp.=ar[sn2-a_index, a_index] . "|"
}
}
}
else if (a_index>b)
{
sn1:=c-a_index+1
sn2:=a_index+1
loop, % sn1
{
if (mod(sn1,2)=1) ;奇数从自身开始
{
tmp.=ar[b+1-a_index, sn2-(b+1-a_index)] . "|"
}
else
{
tmp.=ar[sn2-(b+1-a_index), b+1-a_index] . "|"
}
}
}
}
msgbox, % tmp ;对结果未做二次处理,仅保存读取数据。
return
;创建一个数组
make_array(x,y)
{
loop, % x
{
a:=A_Index
loop, % y
{
ar[a,A_index]:=a+(A_index-1)*y
}
}
return, % ar
}
这个数字还是有规律的。excel很容易找出来。
挺有意思。
;测试字符 test1
test1:="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456"
test2:=StrSplit(test1)
loop, % test2.maxindex()
{
test3.=test2[a_index] . " " ;插入几个空格就這地方输入几个空格
}
msgbox, % test3
return
第二个符合的数字才是巴贝奇提出的99736;
后面的还有的是150264, 224736 ,275264
我的思路是反向,将269696前面加序列,求平方根后取整位,对取整后的再进行平方,将两个平方值对比,如果一样,那么这个平方根就是巴贝奇数。
这个好像比较简单吧,最小的整数计算出来是25264。
/*
ahk 1.x
*/
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Persistent ;保持后台运行
#SingleInstance FORCE ;单实例运行模式
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetBatchLines -1
ListLines Off
res1:="269696"
min_a_index :=ceil(sqrt(res1))-1
Gui, +LastFound +ToolWindow +AlwaysOnTop
Gui, Color, EAEAEA,2b2b2b
gui,margin,30,30
GUI, Font, w200 Q5 s10 c2b2b2b , Microsoft Yahei
GUI, ADD, BUTTON, Y+30 W200 default gstart, 开始
GUI, ADD, BUTTON, Y+30 W200 gcancleme, 停止
GUI, ADD, text, Y+20, Babbage result is ...
GUI, Font, w200 Q5 s16 cred bold , Microsoft Yahei
GUI, ADD, text, Y+10 w250 , % "calculating..."
gui,show,autosize center, Babbage problem
return
start:
loop
{
temp1:=a_index . res1
temp2:=sqrt(temp1)
temp3:=round(temp2,0)+0
temp4:=temp3**2
if (temp1=temp4)
{
babbage_res:=round(temp2,0)+0
guicontrol,,static2, % babbage_res
break
}
}
return
cancleme:
exitapp
return
这个暂时还没有这个打算。