将前100个自然数依次无间隔地写成一个192位数,如果划去150个数字,那么剩下的42位数最小是多少

求过程

首先值得提醒的是,这100个自然数因该是1开头,即从1到100,因为这样才能有9+90×2+3=192(位)。
那么这个数应该是1234567891011121314151617181920…………100
为保证最后的数最小,就得保证这个42位数开头几位要尽量小。

首位最小1,

二位最小0,也就是说原数的开头1后面的2 3 4 5 6 7 8 9 1都要划掉,这就只剩183位了。

三位最小也是0,也就是说可以把10到20之间的非零数全划了,这样就划去了1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2,剩下164位数

同理,第四位也可以为0,划去20到30间的非零数,又会减去19为,剩145位。

五位也是0,划去19个数字,剩126位,

六位,七位,八位,九位都是0,这样就只剩126-19×4=50位。

如果想第10位是0,则又要划去19位,就不足42为了,所以第十位不能为0了。这个时候,剩下的数字还有10000000081828384858687888990919293949596979899100(数一数刚好50位,说明刚才的推理没错)这时候允许划去的数字还有8个,第十位就应该是81的1,划去8,还能划去7个。

第十一位想要0又得划去17位,显然不行,所以第十一位最小为2,划去8.

这样一来,十二位到十七位依次是3 4 5 6 7 8 ,还能划去0个数字!而此前的数字又已经都是尽可能的小了。所以,最后轻轻松松地把剩余的数字写上,得到答案!oh——yeah!

1000000001234567888990919293949596979899100(数一数正好42位)

祝学习愉快!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-13
将前100个自然数依次无间隔地写成一个192位数,如果划去150个数字,那么剩下的42位数最小是多少
解:
思路:保证这个42位数开头几位要尽量小,首位为1。
答案:(下面故意加了两个空格以引起注意)
100000000 12345678 8990919293949596979899100

方法二:数学计算分析。见后。
方法一:利用软件辅助得到结果,上面结果就是按下面的方法完成的。
利用excel的填充功能得到一列表格,含有1到100最好复制一列或两列作为参照。
然后复制,到word中,(也可在word的中创建3列*100行的表格,利用“自动编号得到1-100的数字,再选择性粘贴入为文本),
再利用其略强大的替换功能进行处理。

热身检验:全选,ctrl_H,查找^#,替换为^&(替换为自身,即不替换),这样可以计算其中数字的个数,是192个。(本文件中全为数字,用alt_TW("工具-字符统计")也可以看出)

选中其中一列,从含2的单元格开始进行替换:
勾选“使用通配符”,查找[1-9],替换为^&,直到替换数为150。可以看出,到含有84的格正好。将替换框不填写,替换。即删除其中的1-9等数字。
然后两列对比,考虑将替换到的结果再处理。显然到80所在的格时,已经将第二位开始的各个连续位变成0了。而81-84各个数字删除,不如将其中的1到4利用起来,而将85-88中十位上的8去掉。

最后选择性贴入为文本,然后查找^p(不勾选“使用通配符”),即段落标记,同上法删除掉,即得结果。
于是得到结果(下面故意加了两个空格以引起注意):
100000000 12345678 8990919293949596979899100

方法二:计数并分析。
如果不用excel或word来做,也可以做,待补。
第2个回答  2010-08-13
最小为00……0(8个0)123456788899091……99100
相似回答