免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: UltimateSniper
打印 上一主题 下一主题

惊叹的数学公式,该如何实现??? [复制链接]

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
11 [报告]
发表于 2013-05-31 15:36 |只看该作者
给个理由先 发表于 2013-05-31 15:13
我搽,这么先进呀,甩我大华几千条街



从文明出现的时间先后及间隔来说,埃及文明确实甩我中华文明几千条街,虽然我也不想承认。

论坛徽章:
3
水瓶座
日期:2014-03-25 17:08:042015亚冠之塔什干棉农
日期:2015-08-10 10:45:122015亚冠之萨济拖拉机
日期:2015-08-13 16:05:24
12 [报告]
发表于 2013-05-31 17:16 |只看该作者
回复 1# UltimateSniper
  1. multi = str(111111111111111111111111111111)

  2. for j in range(len(multi)):
  3.     i = int(len(multi)- 1) - j
  4.     print (str(multi[int(i):]) + "*" + str(multi[int(i):]) + "=" + str(int(multi[int(i):])*int(multi[int(i):])))
复制代码

论坛徽章:
0
13 [报告]
发表于 2013-06-01 11:21 |只看该作者
回复 9# ssfjhh


    共享下你的方法 大家一起找看再有没有了 这么神奇啊

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
14 [报告]
发表于 2013-06-01 12:56 |只看该作者
本帖最后由 ssfjhh 于 2013-06-01 17:13 编辑

回复 13# wpppl


    要想找走马灯数,当然要先有定义,然后才能写程序找。因为目前只有一个走马灯数,没有办法总结规律,所以我自己限制了这样几个条件,基于这样的条件,我没有发现除142857之外的走马灯数。
一、数字中不能有重复字符,所以只可能是9位以内的数字。
二、一个n位的走马灯数分别乘以1-n均能重复出现这个走马灯数所出现的字符。(事实上,142857这几个数字是顺序出现的,想实现这个编程稍嫌烦琐,我没有实现,先找一找试试有没有再说,另外为什么是1-n?为什么不是1-6?没有为什么,我自己做出的限制,如果你觉得条件太严格,你自己可以修改代码,放宽这个限制。)
三、个位数不算走马灯数。
基于这三个条件,我只找到了142857,程序已经运行过了。
代码如下:
  1. def cyclicnumber():
  2.     for n in range(2,10):
  3.         count = 0
  4.         for i in range(10**(n-1),10**n//n):
  5.             lst = sorted(str(i))
  6.             for j in range(2,n+1):
  7.                 if sorted(str(i*j)) != lst:
  8.                     break
  9.             else:
  10.                 count += 1
  11.                 for k in range(1,n+1):
  12.                     print("{} × {} = {}".format(i, k, i*k))
  13.         else:
  14.             if count:
  15.                 print("Found {c} {l}-digit cylic number{s}".format(c = count, l = n, s = 's' if count > 1 else ''))
  16.             else:
  17.                 print("No {}-digit cylic number exists!".format(n))


  18. if __name__ == "__main__":
  19.     cyclicnumber()
复制代码

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
15 [报告]
发表于 2013-06-01 13:07 |只看该作者
回复 13# wpppl


    1-n放宽到1-6也只多找到了一个1428570,你也看到了,1428670并没有142857完美。

1428570 X 1 = 1428570
1428570 X 2 = 2857140
1428570 X 3 = 4285710
1428570 X 4 = 5714280
1428570 X 5 = 7142850
1428570 X 6 = 8571420

论坛徽章:
0
16 [报告]
发表于 2013-06-01 22:26 |只看该作者
本帖最后由 chyanog 于 2013-06-01 22:28 编辑

放宽要求,还是有一些类似的数的,
  1. [5882352941176470*i for i in range(2,17)]
  2. [526315789473684210*i for i in range(2,19)]
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP