25 lines
		
	
	
		
			499 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			499 B
		
	
	
	
		
			Perl
		
	
	
	
	
	
|   | :- initialization(main). | ||
|  | 
 | ||
|  | tak(X,Y,Z,A) :- X =< Y,  | ||
|  |                 Z = A. | ||
|  | 
 | ||
|  | tak(X,Y,Z,A) :- X > Y,  | ||
|  |                 X1 is X - 1,  | ||
|  |                 tak(X1,Y,Z,A1),  | ||
|  |                 Y1 is Y - 1,  | ||
|  |                 tak(Y1,Z,X,A2),  | ||
|  |                 Z1 is Z - 1,  | ||
|  |                 tak(Z1,X,Y,A3),  | ||
|  |                 tak(A1,A2,A3,A). | ||
|  | 
 | ||
|  | main :- | ||
|  |     unix( argv([H|_]) ), | ||
|  |     number_atom(N,H), | ||
|  | 	R1 is N >> 3, | ||
|  | 	R2 is N / 2, | ||
|  |     N2 is R2 - R1, | ||
|  |     N3 is N - N2, | ||
|  |     tak(N,N2,N3,_), | ||
|  |     statistics, | ||
|  |     statistics_jit. |