<?php
  class GeomeetrilineKeskmine{
     private $tegurid=array();
	 private $liide="";
	 private $kogus;
     function __construct($eesliide="arv", $kogus=2){
	    $this->liide=$eesliide;
		$this->kogus=$kogus;
		for($i=0; $i<$this->kogus; $i++){
		  $this->tegurid[$i]=(
		     empty($_REQUEST[$this->liide.$i])? 1:
			   $_REQUEST[$this->liide.$i]);
		}
	 }
	 function lahter($nr){
	    return "<input type='text' name='{$this->liide}$nr'
           value='{$this->tegurid[$nr]}'/>";
	 }
	 function sisestusvorm(){
	    $t=$this->lahter(0);
		for($i=1; $i<$this->kogus; $i++){
		  $t.=" x ".$this->lahter($i);
		}
		$t.= " <input type='submit' value='=' />";
		return $t;
	 }
	 function kysiKorrutis(){
	    $korrutis=$this->tegurid[0];
		for($i=1; $i<$this->kogus; $i++){
		   $korrutis*=$this->tegurid[$i];
		}
		return $korrutis;
	 }
	 function kysiGeomeetrilineKeskmine(){
	    return pow($this->kysiKorrutis(), 1.0/$this->kogus);
	 }
	 function kysiCSV(){
	    return implode(",", $this->tegurid).",".
		   $this->kysiGeomeetrilineKeskmine();
	 }
  }
?>