Self numbers: Difference between revisions
Content added Content deleted
(Self numbers en FreeBASIC) |
|||
Line 630: | Line 630: | ||
1022727208 |
1022727208 |
||
</pre> |
</pre> |
||
=={{header|FreeBASIC}}== |
|||
{{trans|Ring}} |
|||
<lang freebasic>Print "The first 50 self numbers are:" |
|||
Dim As Boolean flag |
|||
Dim As Ulong m, p, sum, number(), sum2 |
|||
Dim As Ulong n = 0 |
|||
Dim As Ulong num = 0 |
|||
Dim As Ulong limit = 51 |
|||
Dim As Ulong limit2 = 100000000 |
|||
Dim As String strnum |
|||
Do |
|||
n += 1 |
|||
For m = 1 To n |
|||
flag = True |
|||
sum = 0 |
|||
strnum = Str(m) |
|||
For p = 1 To Len(strnum) |
|||
sum += Val(Mid(strnum,p,1)) |
|||
Next p |
|||
sum2 = m + sum |
|||
If sum2 = n Then |
|||
flag = False |
|||
Exit For |
|||
Else |
|||
flag = True |
|||
End If |
|||
Next m |
|||
If flag = True Then |
|||
num += 1 |
|||
If num < limit Then Print ""; num; ". "; n |
|||
If num >= limit2 Then |
|||
Print "The "; limit2; "th self number is: "; n |
|||
Exit Do |
|||
End If |
|||
End If |
|||
Loop |
|||
Sleep</lang> |
|||
=={{header|Go}}== |
=={{header|Go}}== |