C:
#include#include#includeint loop_ver(int x){ int out=1; int i; if(x == 0 || x == 1) return 1; else for(i=1; i<=x; i++) out *= i; return out;}int rev_ver(int x){ int out; if(x == 0 || x == 1) return 1; else out = x * rev_ver(x-1); return out;}int main(int argc, char *argv[]){ if(argc < 2) { fprintf(stderr, "%s [loop|rev] number\n", argv[0]); exit(EXIT_FAILURE); } int out; if(strcmp(argv[1], "loop") == 0) out = loop_ver(atoi(argv[2])); if(strcmp(argv[1], "rev") == 0) out = rev_ver(atoi(argv[2])); printf("%d\n", out); return 0;}Bash:
#!/bin/bashfunction loop{ out=1 if [ $1 -eq 0 ] || [ $1 -eq 1 ] then echo 1 else for((i=1; i<=$1; i++)) do out=$[ $out * $i] done fi echo $out}function rev{ if [ $1 -eq 0 ] || [ $1 -eq 1 ] then echo 1 else local tmp=$[ $1 - 1 ] local res=$(rev $tmp ) res=$[ $res * $1 ] fi echo $res}if [ $# -lt 2 ]then echo "$0 [loop|rev] number\n" exit 1elif [ $1 = "loop" ]then loop $2elif [ $1 = "rev" ]then rev $2fi
Python:
def rev(x): if x == 0 or x == 1: return 1 else: tmp = x*rev(x-1) return tmpout=rev(100)print(out)话说100!好大。。。
取消
评论