I have following code in Rust:
fn main() {
let mut sum = 0is;
for i in (0is..100000000is) {
sum = sum + i;
}
println! ("{}", sum);
}
as a result, I have 4999999950000000
But, when I try to check this code with Golang and Ruby - I see another result
golang version:
package main
import "fmt"
func main() {
var sum = 0
for i := 1; i < 99999999; i++ {
sum += i
}
fmt.Println(sum)
}
Ruby version:
@sum = 0
(1...99999999).each do |i|
@sum += i
end
puts @sum
and the result for both Ruby and Golang is 4999999850000001
PS: yep, I know about difference between 100000000 and 99999999 - it's because of inclusion right part in Rust in 0is..100000000is