Foxtable(狐表)用户栏目专家坐堂 → 请教


  共有5201人关注过本帖树形打印复制链接

主题:请教

美女呀,离线,留言给我吧!
采菊东篱下
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/7 17:52:00 [显示全部帖子]

你的代码还是有点问题,我改过来后终于行了,谢谢。
Dim lst As new List(of Long)
Dim i As Long = 0
Dim p1 As String = "0$"
Dim p2 As String = "^[0,2]+$"
Dim p3 As String = "^2+$"
Dim p4 As String = "0[2]+$"
Dim r As New System.Text.RegularExpressions.Regex(p2)

Do While lst.Count < 2020
    Dim i2 As String= i.Tostring
    Dim k As Long = i2.length
    If r.IsMatch(i2,p2) Then
        lst.Add(i)
        If r.IsMatch(i2,p1) Then
            i += 2
        ElseIf r.IsMatch(i2,p4) Then
            Dim s2 As String = System.Text.RegularExpressions.Regex.replace(i2,p4,"")
            i=clng(s2 & "2".PadRight(k-s2.Length,"0"))
        ElseIf r.IsMatch(i2,p3) Then
            i=clng("2".PadRight(k+1,"0"))
        Else
            i += 18
        End If
    Else
        i += 2
    End If
Loop

DataTables("表A").StopRedraw
Dim dr As DataRow
For a As Integer = 0 To lst.Count - 1
    If a < DataTables("表A").DataRows.Count
        dr = DataTables("表A").DataRows(a)
    Else
        dr = DataTables("表A").AddNew
    End If
    dr("鼠数") = lst(a)
Next
DataTables("表A").ResumeRedraw
[此贴子已经被作者于2020/2/7 17:52:13编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/7 20:18:00 [显示全部帖子]

前2020个“鼠数”中去掉开头的0,剩下的数从左至右写成一个数 A=220222002022202222000?。

我参考了一下这段代码

Dim dt As Date = Date.Now
Dim
v As String
Dim
s As new StringBuilder
For
i As Integer = 1 To 100000
    s.AppendLine("abc")
Next

v = s.Tostring
Output.Show((
Date.now - dt).Totalseconds)

但不知怎么改,请教,


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/7 23:01:00 [显示全部帖子]

Dim v As String
Dim s As new StringBuilder
For i As Integer = 2 To Tables("表A").rows.count - 1
    s.Append(Tables("表A").rows(i)("鼠数"))
Next
v = s.Tostring
Output.Show(v)
这代码生成的数字前面自动带0、带点了,不行!

图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/2/7 23:01:57编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/8 10:58:00 [显示全部帖子]

生成的数字是很正常的,就是合并字符时自动加0和.了。
图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/8 11:20:00 [显示全部帖子]

没有密码。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb

[此贴子已经被作者于2020/2/8 11:22:31编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/8 16:22:00 [显示全部帖子]

谢谢指教,还有一个问题,前2020个“鼠数”中去掉开头的0,剩下的数之积的末尾一共有多少个0?这问题我以为用EXCEL能解决,因为前一个求余数问题我很轻松地用EXCEL公式解出了,现在这个问题我以为用EXCEL也同样能轻松解决,结果想了很久,无法解决截取数据问题,发到EXCEL论坛问,没人能解决。
因为数字长,相乘之后更大,只能考虑D4=A3*A4,D5=从最后非0位置开始截取D4单元格数值*乘上A5的鼠数,请教如何截取这个不定位置数据,谢谢。


图片点击可在新窗口打开查看此主题相关图片如下:7.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/2/8 16:22:51编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/8 16:48:00 [显示全部帖子]

但一相乘这0就翻倍了,还是要选看乘出来的结果再截取后面有多少个0吧?直接统计后面0的个数?还有这位置也不定,如何快速计算?

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/8 22:02:00 [显示全部帖子]

谢谢你的点醒,excel论坛那边已经用你的方法帮我想出了3条公式计算出结果了,结果是:2011个0。
吴教授发我的帖:
2020年(农历庚子年)是中国传统的“鼠年”。 我们把只含数字2和0的自然数(包括0)称为“鼠数”,全体“鼠数” 自小至大排成的数列,称为“鼠数列”: 0,2,20,22,200,202,220,222,2000,? 一、第2020个“鼠数”是什么数? 二、前2020个“鼠数”之和等于多少? 三、前2020个“鼠数”中去掉开头的0,剩下的数之积的末尾一共有多少个0? 四、前2020个“鼠数”中去掉开头的0,剩下的数从左至右写成一个数 A=220222002022202222000?。 那么,A是多少位数? 五、A除以2020的余数是多少?

结果是:
一、第2020个“鼠数”是22222200022; 二、前2020个“鼠数”之和等于22133333599820; 三、前2020个“鼠数”中去掉开头的0,剩下的数之积的末尾一共有2011个0. 四、前2020个“鼠数”中去掉开头的0,剩下的数从左至右写成一个数A=220222002022202222000?。那么,A是20173位数。 五、A除以2020的余数是2

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/2/8 22:05:00 [显示全部帖子]

非常感谢你的指教,陈律师说这是二进制数据,可用二进制公式计算,我不会二进制,当时也没往这方面想,一直安程序的思路想,不知你会不会安二进制生成数据。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2022/1/7 14:39:00 [显示全部帖子]

这个解法我还保存着:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数组.foxdb



 回到顶部
总数 21 上一页 1 2 3