java - How to use the equivalent of indexof() with biginteger in VB.Net? -
i trying sum digits in large number. have gotten length of number with
l = answer.bitlength()
can't figure out how increament through each digit using loop. ideas?
i'm using java.math.biginteger
.
visual studio 2005 version 2.0
i should add can't seem use <> or of simple math options biginteger i'm using. if tell me how use different biginteger more willing swap.
dim answer java.math.biginteger dim sum integer = 0 dim x integer dim integer 'sets value of answer equal 1 answer = java.math.biginteger.valueof(1) 'gets 100! = 1 100 answer = answer.multiply(java.math.biginteger.valueof(i)) next 'gets length of answer dim l integer l = answer.bitlength() 'sums digits in 100! x = 0 l - 1 'need pull each character here add them next
final solution summing digits. wageoghe.
dim r integer dim s integer s = 0 while (answer.compareto(java.math.biginteger.valueof(0)) > 0) r = answer.mod(java.math.biginteger.valueof(10)).tostring() s = s + r answer = answer.divide(java.math.biginteger.valueof(10)) end while
something should work:
dim bi new system.numerics.biginteger(12345) dim c char dim s long s = 0 each c in bi.tostring() s = s + integer.parse(c.tostring()) next
or more conventional way using mod , / (integer division)
dim bi new system.numerics.biginteger(12345) dim s long dim r integer s = 0 while bi <> 0 r = bi mod 10 s = s + r bi = bi / 10 end while
Comments
Post a Comment