mersenne.calc (calc-2.12.7.2.tar.bz2) | : | mersenne.calc (calc-2.12.7.6.tar.bz2) | ||
---|---|---|---|---|

#!/usr/local/src/bin/calc/calc -q -s -f | #!/usr/local/src/bin/calc/calc -q -s -f | |||

/* | /* | |||

* mersenne - print the value of a mersenne number | * mersenne - print the value of a mersenne number | |||

* | * | |||

* Copyright (C) 1999-2007,2014 Landon Curt Noll | * Copyright (C) 1999-2007,2014,2019 Landon Curt Noll | |||

* | * | |||

* Calc is open software; you can redistribute it and/or modify it under | * Calc is open software; you can redistribute it and/or modify it under | |||

* the terms of the version 2.1 of the GNU Lesser General Public License | * the terms of the version 2.1 of the GNU Lesser General Public License | |||

* as published by the Free Software Foundation. | * as published by the Free Software Foundation. | |||

* | * | |||

* Calc is distributed in the hope that it will be useful, but WITHOUT | * Calc is distributed in the hope that it will be useful, but WITHOUT | |||

* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |||

* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General | |||

* Public License for more details. | * Public License for more details. | |||

* | * | |||

skipping to change at line 34 | skipping to change at line 34 | |||

* chongo <was here> /\oo/\ http://www.isthe.com/chongo/ | * chongo <was here> /\oo/\ http://www.isthe.com/chongo/ | |||

* Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/ | * Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/ | |||

* | * | |||

* usage: | * usage: | |||

* mersenne exp | * mersenne exp | |||

*/ | */ | |||

/* | /* | |||

* parse args | * parse args | |||

*/ | */ | |||

if (argv() != 2) { | argc = argv(); | |||

/* we include the name of this script in the error message */ | stderr = files(2); | |||

fprintf(files(2), "usage: %s exp\n", config("program")); | program = argv(0); | |||

abort "wrong number of args"; | if (argc != 2) { | |||

/* we include the name of this script in the error message */ | ||||

fprintf(stderr, "usage: %s exp\n", program); | ||||

abort "wrong number of args"; | ||||

} | } | |||

global n = eval(argv(1)); | n = eval(argv(1)); | |||

if (!isint(n) || n <= 0) { | if (!isint(n) || n <= 0) { | |||

quit "Argument to be a positive integer"; | quit "Argument to be a positive integer"; | |||

} | } | |||

/* | /* | |||

* print the decimal value of 2^n-1 | * print the decimal value of 2^n-1 | |||

*/ | */ | |||

print "2^": n : "-1 =", 2^n-1; | print "2^": n : "-1 =", 2^n-1; | |||

End of changes. 4 change blocks. | ||||

7 lines changed or deleted | | 10 lines changed or added |