strconv: fix strconv.v_printf() (#13716)
parent
10ab758aa7
commit
795fe5844c
|
@ -23,7 +23,7 @@ enum Char_parse_state {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn v_printf(str string, pt ...voidptr) {
|
pub fn v_printf(str string, pt ...voidptr) {
|
||||||
print(v_sprintf(str, pt))
|
print(v_sprintf(str, ...pt))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn v_sprintf(str string, pt ...voidptr) string {
|
pub fn v_sprintf(str string, pt ...voidptr) string {
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
. 2 3 . 5 . 7 . . . 11 . 13 . . . 17 . 19 .iter: 20
|
||||||
|
. . 23 . . . . . 29 . 31 . . . . . 37 . . .iter: 40
|
||||||
|
41 . 43 . . . 47 . . . . . 53 . . . . . 59 .iter: 60
|
||||||
|
61 . . . . . 67 . . . 71 . 73 . . . . . 79 .iter: 80
|
||||||
|
. . 83 . . . . . 89 . . . . . . . 97 . . .iter: 100
|
||||||
|
101 .103 . . .107 .109 . . .113 . . . . . . .iter: 120
|
||||||
|
. . . . . .127 . . .131 . . . . .137 .139 .iter: 140
|
||||||
|
. . . . . . . .149 .151 . . . . .157 . . .iter: 160
|
||||||
|
. .163 . . .167 . . . . .173 . . . . .179 .iter: 180
|
||||||
|
181 . . . . . . . . .191 .193 . . .197 .199 .iter: 200
|
|
@ -0,0 +1,40 @@
|
||||||
|
import strconv
|
||||||
|
|
||||||
|
const limit = 201
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// sieve
|
||||||
|
mut c := [limit]bool{}
|
||||||
|
c[1] = true
|
||||||
|
|
||||||
|
mut p := 2
|
||||||
|
for {
|
||||||
|
p2 := p * p
|
||||||
|
if p2 >= limit {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := p2; i < limit; i += p {
|
||||||
|
c[i] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
for {
|
||||||
|
p++
|
||||||
|
if !c[p] {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// sieve complete. now print a representation.
|
||||||
|
for n in 1 .. limit {
|
||||||
|
if c[n] {
|
||||||
|
print(' .')
|
||||||
|
} else {
|
||||||
|
strconv.v_printf('%3d', n)
|
||||||
|
}
|
||||||
|
if n % 20 == 0 {
|
||||||
|
println('iter: $n')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue