2012年4月15日 星期日

分解後次方和

求 1~100000 中,其分解的N次方和恰等於原來的數。
請依次方大小依序列出

( 2 <= N <= 10 )

範例:

153 = 1^3 + 5^3 + 3^3

輸出:
153 的 3 次方和與 153 相符
370 的 3 次方和與 370 相符
371 的 3 次方和與 371 相符
407 的 3 次方和與 407 相符
1634 的 4 次方和與 1634 相符
8208 的 4 次方和與 8208 相符
9474 的 4 次方和與 9474 相符
4150 的 5 次方和與 4150 相符
4151 的 5 次方和與 4151 相符
54748 的 5 次方和與 54748 相符
92727 的 5 次方和與 92727 相符
93084 的 5 次方和與 93084 相符

5 則留言:

  1. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #1
    For N = 2 To 10
    For i = 2 To 100000
    ans = 0
    For j = 1 To Len(i)
    a = Int(Mid(i, j, 1))
    ans = ans + a ^ N
    Next
    If ans = i Then Print #1, ans & "的" & N & "次方和與" & ans & "相符"
    Next
    Next
    Close #1
    End
    End Sub

    小考的第三題,應該是類似這題吧。

    回覆刪除
  2. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #1
    For n = 2 To 10
    For i = 1 To 100000
    ans = 0
    For j = 1 To Len(i)
    If i = 1 Then Exit For
    x = Mid(i, j, 1)
    ans = ans + x ^ n
    Next j
    If ans = i Then Print #1, i & "的" & n & "次方和與" & i & "相符"
    Next i
    Next n
    Close #1
    End
    End Sub

    回覆刪除
  3. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #1
    For i = 2 To 10
    For j = 1 To 100000
    ans = 0
    For k = 1 To Len(j)
    If j = 1 Then Exit For
    a = Int(Mid(j, k, 1))
    ans = ans + a ^ i
    Next k
    If j = ans Then
    Print #1, ans & "的" & i & "次方和與" & j & "相符"
    End If
    Next j
    Next i
    Close #1
    End
    End Sub

    回覆刪除
  4. 作者已經移除這則留言。

    回覆刪除
  5. Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\out.txt" For Output As #1
    For i = 2 To 100000
    For k = 2 To 10
    ans = 0
    For j = 1 To Len(i)
    a = Val(Mid(i, j, 1))
    ans = ans + a ^ k
    Next j
    If ans = i Then Print #1, i & "的" & k & "次方和與" & ans & "相符"
    Next k
    Next i
    Close #1
    End
    End Sub

    回覆刪除