
paizaのAランクレベルアップセットの通ったコードを置いてみました。
ただ、まだまだ未熟なうえ、基本的に原始的なアプローチなので参考になりますかどうか。まあいいか。
<?php
// 自分の得意な言語で
// Let's チャレンジ!!
//・ 1 行で、開始時点の x , y 座標を表す X , Y, 移動の歩数 N が与えられます。
$s = explode(" ",trim(fgets(STDIN)));
$x = $s[0];
$y = $s[1];
$num = $s[2];
$dis = "E";//初期方角
$turn_point = array(1,2,4,6,9,12,16,20,25,30,36,42,49,56,64,72,81,90,100); //曲がるポイント
//print_r($turn_point);
for ($i = 0; $i < $num; $i++) {
$hoge = $turn_point[0];
if($i == $hoge){ //曲がるポイントだったら
if($dis=="N"){
$dis = "E";
}elseif($dis=="E"){
$dis = "S";
}elseif($dis=="S"){
$dis = "W";
}elseif($dis=="W"){
$dis = "N";
}
array_shift($turn_point);//使用済みの最初の値を削除
}
//移動
if($dis=="N"){
$y--;
}elseif($dis=="E"){
$x++;
}elseif($dis=="S"){
$y++;
}elseif($dis=="W"){
$x--;
}
}
echo($x." ".$y."\n");
?>

補足
曲がるポイントの規則性が分からなかったので、
やもなく配列に入れ、曲がるポイントに来たら方角を変えるという操作をしています。
使ったらその値は削除して、常に配列の0番目を使う形です。
これ100手順だったからよかったですけど、1000手順だったらこの方法は使えないですね。
0