vb

如果一个数字的平方的低位与该数字相同,那么这个数字就称为“守形数”,比如252=625,那么25就是一个守形数。设计一个程序找出3-1000万之间的所有守形数。我对vb不熟悉,但是这个程序要用vb语言去做?跪求,谢谢

解决方案 »

  1.   

    Private Sub Form_Load()
    Dim iCtr As Double
    Dim jCtr As Double
    Dim pCtr As String
    Dim sCtr As String
        
        For iCtr = 3 To 10000000
            jCtr = iCtr * iCtr
            sCtr = CSng(iCtr)
            If InStr(1, Right(jCtr, Len(sCtr)), iCtr) Then
                pCtr = pCtr & "," & iCtr
            End If
        Next iCtr
        pCtr = Right(pCtr, Len(pCtr) - 1)
        Debug.Print pCtr
    End Sub
      

  2.   

    Module Module1    Sub Main()
            Dim result = Enumerable.Range(3, 10000000 - 3).AsParallel().
                Where(Function(x) x ^ 2 Mod 10 ^ (x.ToString().Length) = x).OrderBy(Function(x) x)
            result.ToList().ForEach(Sub(x) Console.WriteLine(x))
        End SubEnd Module
      

  3.   

    5
    6
    25
    76
    376
    625
    9376
    90625
    109376
    890625
    2890625
    7109376
    Press any key to continue . . .
      

  4.   


        Dim i As Long, j As Integer, ij As Double
        Dim s As Double, c As String
        For i = 0 To 1000000
            For j = 5 To 6
                ij = 10 * i + j
                s = ij * ij
                c = CSng(ij)
                If InStr(1, Right(s, Len(c)), ij) Then Debug.Print ij
            Next j
        Next i结果:
     5 
     6 
     25 
     76 
     376 
     625 
     9376 
     90625 
     109376 
     890625 
     2890625 
     7109376 一个守形数的个位数必定是 5 或 6,没有其他,因此个位只要 5 6 循环就行了,没必要0-9,提高效率。
      

  5.   

    VB2008+的LINQ虽然没有C#的优雅,也足够强大LINQ用多了人容易患上痴呆症。离开LINQ写程序就很别扭。
      

  6.   

    http://download.csdn.net/source/1627064
      

  7.   

    本帖最后由 bcrun 于 2011-07-24 09:41:36 编辑
      

  8.   

    各位好,我现在做课题遇到一些问题,就是在vb中编写计算机和HP34401A通信的程序时,数据始终采不到,而且数字万用表HP34401A显示出错,有哪位大侠帮分析分析?