Erdos Ginzburg Ziv 定理的一个证明

Erdos Ginzburg Ziv 定理的一个证明

定理描述

给定 nZ+ ,可以从 2n1 个整数中选出 n 个整数,其和为 n 的倍数。

定理证明

第一部分 对n为素数

a1,a2p1表示这2p1个数。ki,li表示求和的第 i 个数的下标,k1<<kp,l1<<ltui表示ali的次数,ui>0vi表示aki的次数,vi0

S=k1<<kp(i=1paki)p1=k1<<kp(v1++vp=p1vi0(p1v1,,vp)i=1takivi)=k1<<kp(t=1n{l1,,lt}{k1,,kp}u1++ut=p1ui>0(p1u1,,ut)i=1taliui)=t=1p1{l1,,lt}{1,,2p1}(u1++ut=p1ui>0{l1,,lt}{k1,,kp}(p1u1,,ut)i=1taliui)=t=1p1{l1,,lt}{1,,2p1}(u1++ut=p1ui>0(2p1tpt)(p1u1,,ut)i=1taliui)

又由于p|(2p1tpt),t{1,,p1},所以p|S,S(2p1p)(modp)。若对任意{k1,,kp}{1,,2p1},p|i=1paki,则(i=1paki)p11(modp),对所有{k1,,kp}{1,,2p1}求和即知矛盾。


第二部分 对n为合数

若命题不正确,我们取所含素因子总次数最少的数n,设n=pq,其中p为素数,q=np必满足对任意2q1个数存在q个数,其和为q的倍数。

于是在2pq1个数中,我们每次从其中挑选出p个数,并从中删去,直到剩下数的个数少于2p1。可知挑选出了2q1p个数和为p的倍数,于是可从中挑出q组和为pq的倍数,这q组中共n=pq个数,其和为n的倍数。


  1. 素因子总次数:设n 的素因子分解式为n=i=1kpiαi,则n的素因子总次数指i=1kαi↩︎

posted @   qrc  阅读(1467)  评论(2编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示