我自己发明的数字的平方数字位数密度(SNDD)是连续数字中发现的平方数字计数与数字长度的比率。例如,169是一个3位数字,包含4个正方形数字-1、9、16、169-,因此正方形数字的数字密度为4/3或1.33。4位数字1444具有6个正方形-1、4、4、4、144、1444-因此比率为6/4或1.5。注意,在前面的示例中,正方形可以重复。另外,不允许441,因为无法在数字1444内连续找到它。
您的任务是编写一个程序,该程序在给定范围A-B(含)范围内搜索平方位数最高的数字。您的程序应遵守以下规范:
- 输入A,B的范围为1到1,000,000,000(10亿)。例:
sndd 50 1000
- 结果返回SNDD最大的数字。如果是平局,则返回最小的数字。
- 0不会以任何形式(0、00、000等)算作正方形。以0开头的正方形(如049或0049)也不算。
- 注意,整数不必一定是平方数。
例子:
sndd 14000 15000
Output: 14441
sndd 300 500
Output: 441
奖金:SNDD最大的数字是1到1,000,000,000?您能否证明这是最大的可能性,还是更大范围的更大?
当前分数:
- 红宝石:142
- Windows PowerShell:153
- 斯卡拉:222
- 蟒蛇:245
现在已经选择了答案,这是我在JavaScript中的(unolfed)参考实现:http : //jsfiddle.net/ywc25/2/