2 lphu00 lphu00 于 2012.10.24 14:55 提问

数据处理问题:发现最佳模数

发现最佳模数(有一组大整数N1, N2, … Nx和一个较小的整数M,要求找出一个不超过M的整数P,使所有大整数对P的模皆不重复。继而再问如何找到符合以上要求的最小的P。
请问大家有什么好的方法或者思路,可以比较快速的解决这个问题,谢谢!

2个回答

Lov_NinGx
Lov_NinGx   2015.06.09 21:31
已采纳

首先(N1,n2.....Nx)的数都不相同,然后选其中最大的数MaxN做除数,那么所有的模都不相同,这步不用做,只是说明数理。然后,如果这个最大数是奇数,加1,然后除以2得到的数(向上取整),作为除数。如果模有相同的,向上找,找最大数MaxN的四分之三,向上取整,重复上一步。如果没有则向下找,最后如果选出来的数大于M,则无解,小于M,就是它了

u011191259
u011191259 这思路很赞!
2 年多之前 回复
a1193561652
a1193561652   Rxr 2015.05.21 14:11

只想到一个没什么技术含量的方法,
P重1开始,把N1到Nx逐个对P取模,并将模放到一个数组中,且每取到一个模就与前面所有储存的模比较,如果有相同的则跳出循环,执行下一个P。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!