On Jul 14, 2011, at 1:56 AM, 飞刀 wrote: > Hello everyone, > > I want a program to verify prime numbers which can be runned in mzscheme. > The following is C source. I don't konwn how to convert it to lisp.
Well, I wouldn't start from that C code, as the idiomatic way to solve a problem in C is seldom the same as the idiomatic way to solve it in Scheme. I would start, instead, from the mathematical definition of primeness. How are the idioms different? Well, a Scheme programmer probably wouldn't say "I want a fixed-size table of the integers from 1 to 1000000, telling whether each one is or isn't prime;" the Scheme programmer would more likely say "I want a function which, given a positive integer N, gives me a list of all the primes less than N." And the Scheme programmer would almost certainly do the job with recursion and/or higher order functions rather than loops and assignment statements. Once you've done this, you should find that your Scheme version is much more mathematically useful than your C version, because the Scheme version will work even if N happens to be larger than 2^31. Stephen Bloch [email protected] _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

