永发信息网

编程找出10000以内所有的回文数的平方仍是回文数的数

答案:2  悬赏:50  手机版
解决时间 2021-03-18 06:18
Private Sub Command1_Click()
Dim i As Long, s As String, t As String
For i = 1 To 10000
For j = 1 To Len(CStr(i))
s = Mid(CStr(i), j, 1) & s
Next j
If i = CStr(i) Then
a = i * i
For k = 1 To Len(CStr(a))
t = Mid(CStr(a), k, 1) & t
Next k
End If
Next i
If t = CStr(a) Then b = i & "^" & "2" & "=" & a
List1.AddItem b
End Sub
哪里错了啊啊 啊??
累觉不爱00
最佳答案
错得很多,一是s和t需要初始化为空,二是IF判断应该在循环里面,还有细节错误,而且判断回文应该定义为函数,我下面的程序调试通过的,你可以参考:

Private Sub Command1_Click()
Dim i As Long
For i = 1 To 10000
If chk_hui(i) Then
If chk_hui(i * i) Then MsgBox i
End If
Next i
End Sub

Private Function chk_hui(x) As Boolean
Dim i, s1, s2
s1 = x & ""
s2 = ""
For i = 1 To Len(s1)
s2 = Mid(s1, i, 1) & s2
Next i
chk_hui = s1 = s2
End Function

由于我没有List1,所以我只是把结果msgbox,你自行修改为你要的形式。
全部回答
我知道你也懂一点的,我列个思路: for i=1 to 10000 { a=i*i j=0 while(a/10) {b[j]=a/10; a=a/10; j++; } a[j]=a; //接收最后一个数 //判断是否回文数 for k=0 to j/2 if(b[k] <> b[j-k]) break; if(k==j/2) 输出b数组; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想知道高考录取是怎么录取的,如果我报了一
透析过后有吧友耳鸣声音沙哑的吗
粉都源地址在什么地方,想过去办事
USB转IDE易驱线能运行无法读盘 求解
为什么很多人喜欢听轻音乐
在保胎期间能吃排骨土豆汤吗?
百时快捷酒店梁清路万达广场店地址在哪,我要
机械加工高手进来 我有一款转子铣槽看看怎样
沉默半刻是多长时间
回忆自己成长的故事,列一个讲话提纲。
成熟理智的女人什么都好,就是不爱你
歌词有一句是我的爱也刚好只能给你一个,求歌
农工商超市NO.3273地址有知道的么?有点事想
哪位看过反应当代越南社会现状的纪录片
我失败了,突然觉得自己一无是处,整个人都不
推荐资讯
武汉火车站到马克孛罗酒店怎么走
战区88怎么样
北华大学好不好
机动车驾驶证到期了换证的时候不考试可以直接
那几种手机平板电脑好用内存又大
日本富二代多吗?
康熙为什么亲征葛尔丹,而不是派大将前去讨伐
中国澳门钓鱼体育总会怎么去啊,有知道地址的
特泥河宾馆在什么地方啊,我要过去处理事情
英文经典长难句分析
《我的理想男友》不少于七百字 高中作文 急求
西装的荷包是缝着的,是拆了好还是不拆好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?