<?php
$test2 = array([0,0.3],[0.2,0]);
$c = iniArray($c, 19);
$c = calFactor($test1,$test2, $l);
echo "<br><br> enddd<br>";
function calFactor( $factorList, $relationList, $l)
{
$temp = iniArray($temp, $l);
$final = iniArray($final, $l);
$flag2 = 0;
for($i=0; $i < $l ; $i++)
{
if($factorList[$i]==0)
continue;
else
{
$flag2 = 1;
$partFactorList = array(); $partFactorList = checkArray($factorList[$i],$i ,$l);
$temp = countFactor($partFactorList, $relationList, $l, $i);
$checkzero = check($temp, $l);
if($checkzero == 0)
{
$flag2 = 0;
continue;
}
else
{
for($j= 0; $j <$l; $j++)
$final[$j] += $temp[$j];
}
}
}
if($flag2==0)
return $factorList;
else
return $final;
}
function countFactor($factorList, $relationList, $l, $ptr)
{
$countFactorTemp = array(); $countFactorTemp = iniArray($countFactorTemp, $l);
$countFactorTemp2 = array(); $countFactorTemp2 = iniArray($countFactorTemp2, $l);
$flag = 0;
for($j = 0; $j < $l; $j++)
{
$num = $factorList[$ptr]*$relationList[$ptr][$j];
if( $num < 0.1)
$countFactorTemp[$j]=0;
else
{
$countFactorTemp[$j] = round($num *100)/100; $flag = 1;
}
}
if($flag ==0)
{
$arr = iniArray($arr, $l);
return $arr;
}
else
{
$countFactorTemp2 = calFactor($countFactorTemp, $relationList, $l);
for($j= 0; $j <$l; $j++)
{
$countFactorTemp2[$j] += $factorList[$j];
}
return $countFactorTemp2;
}
}
function iniArray($arr,$length)
{
$i;
for( $i= 0; $i< $length; $i++)
{
$arr[$i]=0;
}
return $arr;
}
function checkArray($arr,$j ,$l)
{
for ( $k = 0; $k < $l; $k++)
{
if($k==$j)
$temp[$k] = $arr;
else
$temp[$k]=0;
}
return $temp;
}
function check($arr, $l)
{
for($i=0; $i< $l; $i++)
{
if($arr[$i]!=0)
break;
}
if($i != $l)
return 1;
else
return 0;
}
?>
// your code goes here
PD9waHAKJHRlc3QxID0gYXJyYXkoMTAsNSk7CgkkdGVzdDIgPSBhcnJheShbMCwwLjNdLFswLjIsMF0pOwoJCgkkbCA9IGNvdW50KCR0ZXN0MSk7CQoJJGMgPSBhcnJheSgpOwoJJGMgPSBpbmlBcnJheSgkYywgMTkpOwoJJGMgPSBjYWxGYWN0b3IoJHRlc3QxLCR0ZXN0MiwgJGwpOwoJZWNobyAiPGJyPjxicj4gZW5kZGQ8YnI+IjsKCWVjaG8ganNvbl9lbmNvZGUoJGMpOwoJCmZ1bmN0aW9uIGNhbEZhY3RvciggJGZhY3Rvckxpc3QsICRyZWxhdGlvbkxpc3QsICRsKQp7CQoJJHRlbXAgID0gYXJyYXkoKTsKCSR0ZW1wID0gaW5pQXJyYXkoJHRlbXAsICRsKTsKCSRmaW5hbCA9IGFycmF5KCk7CgkkZmluYWwgPSBpbmlBcnJheSgkZmluYWwsICRsKTsKCSRmbGFnMiA9IDA7CQoJCglmb3IoJGk9MDsgJGkgPCAkbCA7ICRpKyspCgl7CgkJaWYoJGZhY3Rvckxpc3RbJGldPT0wKQoJCQljb250aW51ZTsKCQllbHNlCgkJewoJCQkkZmxhZzIgPSAxOwoJCQkkcGFydEZhY3Rvckxpc3QgPSBhcnJheSgpOwoJCQkkcGFydEZhY3Rvckxpc3QgPSBjaGVja0FycmF5KCRmYWN0b3JMaXN0WyRpXSwkaSAsJGwpOwoJCQkKCQkJJHRlbXAgPSBjb3VudEZhY3RvcigkcGFydEZhY3Rvckxpc3QsICRyZWxhdGlvbkxpc3QsICRsLCAkaSk7CgkJCSRjaGVja3plcm8gPSBjaGVjaygkdGVtcCwgJGwpOwoJCQlpZigkY2hlY2t6ZXJvID09IDApCgkJCXsKCQkJCSRmbGFnMiA9IDA7CgkJCQljb250aW51ZTsKCQkJfQoJCQkJCgkJCWVsc2UKCQkJewoJCQkJZm9yKCRqPSAwOyAkaiA8JGw7ICRqKyspCgkJCQkJJGZpbmFsWyRqXSArPSAkdGVtcFskal07CQkJCQoJCQl9CgkJfQoJfQoJaWYoJGZsYWcyPT0wKQoJCXJldHVybiAkZmFjdG9yTGlzdDsKCWVsc2UKCQlyZXR1cm4gJGZpbmFsOwoJCn0KZnVuY3Rpb24gY291bnRGYWN0b3IoJGZhY3Rvckxpc3QsICRyZWxhdGlvbkxpc3QsICRsLCAkcHRyKQp7CgkkY291bnRGYWN0b3JUZW1wID0gYXJyYXkoKTsKCSRjb3VudEZhY3RvclRlbXAgPSBpbmlBcnJheSgkY291bnRGYWN0b3JUZW1wLCAkbCk7CgkkY291bnRGYWN0b3JUZW1wMiA9IGFycmF5KCk7CgkkY291bnRGYWN0b3JUZW1wMiA9IGluaUFycmF5KCRjb3VudEZhY3RvclRlbXAyLCAkbCk7CgkkZmxhZyA9IDA7Cglmb3IoJGogPSAwOyAkaiA8ICRsOyAkaisrKQoJewkKCQkkbnVtID0gJGZhY3Rvckxpc3RbJHB0cl0qJHJlbGF0aW9uTGlzdFskcHRyXVskal07CQkKCQlpZiggJG51bSA8IDAuMSkKCQkJJGNvdW50RmFjdG9yVGVtcFskal09MDsKCQllbHNlCgkJewkJCQoJCQkkY291bnRGYWN0b3JUZW1wWyRqXSA9IHJvdW5kKCRudW0gKjEwMCkvMTAwOwkJCQoJCQkkZmxhZyA9IDE7CgkJfQoJfQkJCQoJaWYoJGZsYWcgPT0wKQoJewoJCSRhcnIgPSBhcnJheSgpOwoJCSRhcnIgPSBpbmlBcnJheSgkYXJyLCAkbCk7CgkJcmV0dXJuICRhcnI7Cgl9CgllbHNlCgl7CQkKCQkkY291bnRGYWN0b3JUZW1wMiA9IGNhbEZhY3RvcigkY291bnRGYWN0b3JUZW1wLCAkcmVsYXRpb25MaXN0LCAkbCk7CQkKCQlmb3IoJGo9IDA7ICRqIDwkbDsgJGorKykKCQl7CgkJCSRjb3VudEZhY3RvclRlbXAyWyRqXSArPSAkZmFjdG9yTGlzdFskal07CgkJfQkJCgkJcmV0dXJuICRjb3VudEZhY3RvclRlbXAyOwoJfQp9CQpmdW5jdGlvbiBpbmlBcnJheSgkYXJyLCRsZW5ndGgpCnsKCSRpOwoKCWZvciggJGk9IDA7ICRpPCAkbGVuZ3RoOyAkaSsrKQoJewoJCSRhcnJbJGldPTA7CQoJfQkKCXJldHVybiAkYXJyOwp9CmZ1bmN0aW9uIGNoZWNrQXJyYXkoJGFyciwkaiAsJGwpCnsKCSR0ZW1wID0gYXJyYXkoKTsKCWZvciAoICRrID0gMDsgJGsgPCAkbDsgJGsrKykKCXsKCQlpZigkaz09JGopCgkJCSR0ZW1wWyRrXSA9ICRhcnI7CgkJZWxzZQoJCQkkdGVtcFska109MDsKCX0KCXJldHVybiAkdGVtcDsKfQoKZnVuY3Rpb24gY2hlY2soJGFyciwgJGwpCnsKCWZvcigkaT0wOyAkaTwgJGw7ICRpKyspCgl7CgkJaWYoJGFyclskaV0hPTApCgkJCWJyZWFrOwoJfQoJaWYoJGkgIT0gJGwpCgkJcmV0dXJuIDE7CgllbHNlIAoJCXJldHVybiAwOwp9Cj8+Ci8vIHlvdXIgY29kZSBnb2VzIGhlcmU=