日期:2014-05-16  浏览次数:20497 次

求助各位:这题应该怎么做?
4个边长为70的正方形并排放在一个344×70的容器里,第一个正方形距离长方形左侧10,第二个正方形距离第一个12,第三个距离第二个20,第四个距离第三个12,第四个距离长方形右边10,求一算法,给定一个正方形位置就能获得其距离长方形左侧的距离。

举个例子,就比如给你“0”,需要的结果就是“10”,给你“3”,需要的结果就是“264”,在此先谢过各位了

------解决方案--------------------
这个有规律吗??没有把...都已经是固定的数据了...
------解决方案--------------------
这确实没什么规律滴,非要算法就只好这样纸鸟——

y = 82*x + (x>1)*8 + 10;

验证:
JScript code

<script tyep=text/javascript>
Array.prototype.map = function( fun ) {
      var arr = [];
      for (var i = 0; i < this.length; i ++) {
           arr.push( fun.call(this[i], i) );
      }
      return arr
}


alert([0, 1, 2, 3].map(function() {
      return this * 82 + (this > 1) * 8 + 10;
}))
</script>

------解决方案--------------------
当然是有规律的
JScript code
function foo(n) {
  var dict = [10, 12, 20, 12];
  var width = 70;
  if(n >= dict.length) n = dict.length - 1;
  var t = width * n;
  while(n >= 0) t += dict[n--];
  return t;
}

document.write(foo(0)+'<br>');//10
document.write(foo(1)+'<br>');//92
document.write(foo(2)+'<br>');//182
document.write(foo(3)+'<br>');//264