分页: 1 / 1

无聊的程序猿

帖子发表于 : 22 4月 2017 20:14
肥彁
今天还是在家修船马达,想换新的Spark Plug试试能不能解决问题。问题接着就来了,火花塞需要将点火缝隙调到1毫米。看了看手里的gauge,没有1毫米,需要尽可能将量尺blade 组合成1毫米大小,越接近越好。看着那些数字和可能的组合,用手写,算了算,又在谷歌找了好一会,没找到什么方法。两片有误差,3片怎么样?4片组合说不定刚刚是1毫米?出问题啦!想了想,数字组合还有程序猿搞不掂的?就写了以下一段程序,最佳组合是0.102+0.889=0.991,误差0.009,还是两片搞定。我怎么没看见?

有了这段程序,我可以摆摊为大家算算什么时候出洞钓鱼啦,时间,温度,潮汐,不都是数字嘛!记得把钓点的GPS数字也报上为好。 :laugh3

object BladeCalculation {
def main(args: Array[String]): Unit = {
val target : Int = 1000
val bladeSizes = Array(51,76,102,152,203,254,305,330,381,406,432,457,508,559,635,660,711,762,813,889)
var gap : Int = 1000
var output = ""

for(windowSize <- 1 to 10) {
for(slide <- 0 to bladeSizes.length-windowSize-1) {
val selected = new Array[Int](windowSize)
for (i <- 0 to windowSize - 1) {
selected(i) = bladeSizes(slide + i)
}

println("selected numbers to compare-"+selected.mkString(","))

for (j <- 0 to bladeSizes.length - 1) {
if (!selected.contains(bladeSizes(j))) {
val total = selected.sum + bladeSizes(j)
if (Math.abs(total - target) < gap) {
gap = Math.abs(total - target)
output = selected.mkString(",")+","+bladeSizes(j)
}
}
}
}
}
println("best blade combination choice is ->"+output)
}

}

Re: 无聊的程序猿

帖子发表于 : 22 4月 2017 20:17
xiaolu
牛逼. 您这是被挨踢的高手啊. :up

Re: 无聊的程序猿

帖子发表于 : 22 4月 2017 20:34
Sergeantpepper
looks like BASIC to me, somesing I used 40 yrs ago :roflmao

Re: 无聊的程序猿

帖子发表于 : 22 4月 2017 20:48
Beginner
:up
肥彁 @ Sat Apr 22, 2017 8:14 pm 写道: 今天还是在家修船马达,想换新的Spark Plug试试能不能解决问题。问题接着就来了,火花塞需要将点火缝隙调到1毫米。看了看手里的gauge,没有1毫米,需要尽可能将量尺blade 组合成1毫米大小,越接近越好。看着那些数字和可能的组合,用手写,算了算,又在谷歌找了好一会,没找到什么方法。两片有误差,3片怎么样?4片组合说不定刚刚是1毫米?出问题啦!想了想,数字组合还有程序猿搞不掂的?就写了以下一段程序,最佳组合是0.102+0.889=0.991,误差0.009,还是两片搞定。我怎么没看见?

有了这段程序,我可以摆摊为大家算算什么时候出洞钓鱼啦,时间,温度,潮汐,不都是数字嘛!记得把钓点的GPS数字也报上为好。 :laugh3

object BladeCalculation {
def main(args: Array[String]): Unit = {
val target : Int = 1000
val bladeSizes = Array(51,76,102,152,203,254,305,330,381,406,432,457,508,559,635,660,711,762,813,889)
var gap : Int = 1000
var output = ""

for(windowSize <- 1 to 10) {
for(slide <- 0 to bladeSizes.length-windowSize-1) {
val selected = new Array[Int](windowSize)
for (i <- 0 to windowSize - 1) {
selected(i) = bladeSizes(slide + i)
}

println("selected numbers to compare-"+selected.mkString(","))

for (j <- 0 to bladeSizes.length - 1) {
if (!selected.contains(bladeSizes(j))) {
val total = selected.sum + bladeSizes(j)
if (Math.abs(total - target) < gap) {
gap = Math.abs(total - target)
output = selected.mkString(",")+","+bladeSizes(j)
}
}
}
}
}
println("best blade combination choice is ->"+output)
}

}

Re: 无聊的程序猿

帖子发表于 : 22 4月 2017 21:30
Sergeantpepper
NGK BPZ8H-N-10 is of 1.0mm gap
last time crappy tire staff checked up with their supplier for stock, gave us an address to follow, then we picked the plugs up from a nearby warehouse....and paid there

Re: 无聊的程序猿

帖子发表于 : 22 4月 2017 21:34
肥彁
Sergeantpepper @ 周六 4月 22, 2017 9:30 pm 写道: NGK BPZ8H-N-10 is of 1.0mm gap
last time crappy tire staff checked up with their supplier for stock, gave us an address to follow, then we picked the plugs up from a nearby warehouse....


还是椒Sir的搜索引擎厉害!

:up

Re: 无聊的程序猿

帖子发表于 : 22 4月 2017 21:42
Sergeantpepper
肥彁 @ Sat Apr 22, 2017 9:34 pm 写道:
Sergeantpepper @ 周六 4月 22, 2017 9:30 pm 写道: NGK BPZ8H-N-10 is of 1.0mm gap
last time crappy tire staff checked up with their supplier for stock, gave us an address to follow, then we picked the plugs up from a nearby warehouse....


还是椒Sir的搜索引擎厉害!

:up


gapping 留待修車族搞吧, 仍可以的話 exchange 較好 IMHO :fishb

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 00:24
铁马冰河西门吹雪
厉害

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 03:14
新手小郭
不懂..帮顶

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 07:43
yangzw2002
猛,弄gap程序都搞出来了 :roflmao

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 08:16
popiston
牛!

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 08:32
XUYCA
xiaolu @ 周六 4月 22, 2017 8:17 pm 写道: 牛逼. 您这是被挨踢的高手啊. :up

还是面向钓鱼的程序。挨踢高手。 :up

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 08:35
赣西风
:up :up

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 10:03
莫德尔
西加加?就看明白了两个鲁普,一看开头的关键字,民,于是这段小程序是可执行程序。。。。我瞎编的,小学文化程度哪懂高科技啊。

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 10:09
白雪丹枫
要多出去钓鱼就不无聊了! :laugh3

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 19:36
肥彁
莫德尔 @ 周日 4月 23, 2017 10:03 am 写道: 西加加?就看明白了两个鲁普,一看开头的关键字,民,于是这段小程序是可执行程序。。。。我瞎编的,小学文化程度哪懂高科技啊。


回元帅,是咖啡的小弟死卡拉。

Re: 无聊的程序猿

帖子发表于 : 23 4月 2017 19:57
莫德尔
肥彁 @ 周日 4月 23, 2017 7:36 pm 写道:
莫德尔 @ 周日 4月 23, 2017 10:03 am 写道: 西加加?就看明白了两个鲁普,一看开头的关键字,民,于是这段小程序是可执行程序。。。。我瞎编的,小学文化程度哪懂高科技啊。


回元帅,是咖啡的小弟死卡拉。
咖灰我有学过,一看这段就不是咖灰。但是一看就像OOP的程序,于是想到西加加。咖灰一开始就就该是main。。。。。
我回头也翻翻咖灰小弟,看着好好玩的样纸。。。

Re: 无聊的程序猿

帖子发表于 : 24 4月 2017 06:33
XUYCA
莫德尔 @ 周日 4月 23, 2017 7:57 pm 写道:
肥彁 @ 周日 4月 23, 2017 7:36 pm 写道:
莫德尔 @ 周日 4月 23, 2017 10:03 am 写道: 西加加?就看明白了两个鲁普,一看开头的关键字,民,于是这段小程序是可执行程序。。。。我瞎编的,小学文化程度哪懂高科技啊。


回元帅,是咖啡的小弟死卡拉。
咖灰我有学过,一看这段就不是咖灰。但是一看就像OOP的程序,于是想到西加加。咖灰一开始就就该是main。。。。。
我回头也翻翻咖灰小弟,看着好好玩的样纸。。。

可以啃腚,这是一段OPP的面向钓鱼的程序。但不是西嘎嘎,也不是西傻婆。蟒蛇,痿痹也不像。我认为是一段特殊用途的死亏婆特。