数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 13077|回复: 15

在编程中遇到的一个数论问题

[复制链接]
发表于 2018-8-4 21:22 | 显示全部楼层 |阅读模式
问题描述:是否存在一个包含N个整数的集合,使其满足这样一个条件:从这个集合中选取两组任意相同个数个整数(假设一组为A,另一组为B ;则A交B为空),分别对着两组整数组求和,得到的两个结果始终不同。如果存在,是否存在多个,几个或无数个;那么又该用什么样的方法最快的列出符合前面条件的整数集?

希望各位数学界的DALAO们帮个忙,在此表示感谢!!
发表于 2018-8-5 21:41 | 显示全部楼层
本帖最后由 elim 于 2018-8-5 19:13 编辑

先给一个极端的构造: M(n) = {a(1),.....,a(n)} 满足题设要求. 其中 a(1) = 1, a(2) = 2, a(n+2) = a(n+1) + a(n) +...+a(1).

这是一个组合论的好题. 盼望大家参与讨论.
 楼主| 发表于 2018-8-5 23:22 | 显示全部楼层
elim 发表于 2018-8-5 21:41
先给一例: M(n) = {a(1),.....,a(n)} 满足题设要求. 其中 a(1) = 1, a(2) = 2, a(n+2) = a(n+1) + a(n).
...

这个可以把每一项都转换成以a1和a2来表示
 楼主| 发表于 2018-8-5 23:23 | 显示全部楼层
elim 发表于 2018-8-5 21:41
先给一例: M(n) = {a(1),.....,a(n)} 满足题设要求. 其中 a(1) = 1, a(2) = 2, a(n+2) = a(n+1) + a(n).
...

楼主是什么工作

点评

楼主是你,我会点编程.  发表于 2018-8-5 23:55
发表于 2018-8-6 00:04 | 显示全部楼层
本帖最后由 elim 于 2018-8-5 19:14 编辑

二楼提出的数列是 Fibonacci (斐波那契)序列的一个极端化.  我其实还没有给出这么弄出来的集合满足楼主的要求的证明。这个证明也蛮有趣的。网友们试着证证?

发表于 2018-8-6 10:17 | 显示全部楼层
对不起我修改了构造方法。这使得相应的证明变得非常简单。
 楼主| 发表于 2018-8-6 18:52 | 显示全部楼层
elim 发表于 2018-8-6 10:17
对不起我修改了构造方法。这使得相应的证明变得非常简单。

你是说,斐波那契数列,符合条件?
 楼主| 发表于 2018-8-6 18:59 | 显示全部楼层
elim 发表于 2018-8-6 10:17
对不起我修改了构造方法。这使得相应的证明变得非常简单。

我列举出来3+5+8=1+2+13   强斐波那契是不符合的
发表于 2018-8-6 20:37 | 显示全部楼层
不再是Fibonacci 序列了,而是后一项是前面所有项的和.
发表于 2018-8-8 00:35 | 显示全部楼层
这个嘛,自然是有的啰。

注意看:1,2,4,8,16,32,...,2^n,...

这些数的二进制是这样的:
...0001
...0010
...0100
...1000
... ...

每个数只有1个“1”,且“1”的位置两两不同,犹如特征位置编码。可以用“逻辑或”把这些数加起来。
因为特征位置编码没有重复、不会移动,不难推知:任意两组数字相加的和相等的充要条件是两组数字一一对应相等。

32位 integer 有32个,64位 long 型有64个,如果嫌少就自定义数据结构啰。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2026-5-15 11:18 , Processed in 0.129772 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表