【 在 feng321 的大作中提到: 】
: 半个小时,跑完了3个素数相乘的情况。如果用gpu,有加速的可能吗?
三个素数很快(范围1000到9000的素数),1s 结果没有去重, 判断规则加上p-1整除N-1则在x,y,z不相同不能成立(找不大)
if(x!=y and y!=z and x!=z): #把它们乘起来构成一个大整数 N, 要求N的每一个素因子 p 都满足条件
N = x*y*z #p-1 整除 N-1,且 p+1 整除 N+1
if(#(N-1)%(x-1) ==0 and (N-1)%(y-1)==0 and (N-1)%(z-1)==0 and
(N+1)%(x+1) ==0 and (N+1)%(y+1)==0 and (N+1)%(z+1)==0):
result[idx]=z #保存下标,从1开始
break
prime= [1009. 1013. 1019. ... 9491. 9497. 9511.]
gpu vector prime test time 1.077033519744873 got prime 344
[(1013, 2027, 3041), (1013, 3041, 2027), (1039, 3119, 4159), (1039, 4159, 3119), (1049, 1259, 3989), (1049, 3989, 1259), (1069, 1283, 3637), (1069, 3209, 7489), (1069, 3637, 1283), (1069, 7489, 3209), (1091, 2729, 3821), (1091, 3821, 2729), (1103, 2207, 5519), (1103, 5519, 2207), (1103, 7727, 2207), (1151, 4463, 4751), (1151, 4751, 4463), (1163, 3491, 9311), (1163, 9311, 3491), (1187, 1583, 1979), (1187, 1979, 1583), (1223, 2447, 3671), (1223, 3671, 2447), (1229, 2459, 8609), (1229, 8609, 2459), (1249, 3449, 9049), (1249, 9049, 3449), (1259, 1049, 3989), (1259, 2099, 9239), (1259, 3989, 1049), (1259, 9239, 2099), (1277, 3833, 6389), (1277, 6389, 3833), (1283, 1069, 3637), (1283, 3637, 1069), (1369, 6301, 9041), (1369, 9041, 6301), (1399, 2099, 3499), (1399, 3499, 2099), (1399, 4759, 5039), (1399, 5039, 4759), (1409, 2819, 4229), (1409, 4229, 2819), (1451, 2111, 2243), (1451, 2243, 2111), (1481, 1559, 3041), (1481, 3041, 1559), (1489, 2383, 6257), (1489, 6257, 2383), (1499, 1619, 9479), (1499, 3499, 4999), (1499, 4999, 3499), (1499, 9479, 1619), (1559, 1481, 3041), (1559, 3041, 1481), (1559, 3119, 4679), (1559, 4679, 3119), (1567, 4703, 6271), (1567, 6271, 4703), (1571, 2357, 5501), (1571, 5501, 2357), (1583, 1187, 1979), (1583, 1979, 1187), (1583, 3167, 4751), (1583, 4751, 3167), (1583, 7919, 3167), (1619, 1499, 9479), (1619, 1709, 6389), (1619, 2699, 3779), (1619, 3779, 2699), (1619, 6389, 1709), (1619, 9479, 1499), (1709, 1619, 6389), (1709, 6389, 1619), (1733, 3467, 8669), (1733, 8669, 3467), (1759, 5279, 7039), (1759, 7039, 5279), (1847, 2309, 7853), (1847, 4703, 7559), (1847, 7559, 4703), (1847, 7853, 2309), (1889, 3779, 5669), (1889, 5669, 3779), (1979, 1187, 1583), (1979, 1583, 1187), (1979, 2069, 4049), (1979, 4049, 2069), (1999, 2999, 4999), (1999, 4999, 2999), (2003, 4007, 6011), (2003, 6011, 4007), (2027, 1013, 3041), (2027, 2963, 3119), (2027, 3041, 1013), (2027, 3119, 2963), (2069, 1979, 4049), (2069, 4049, 1979), (2083, 5209, 9377), (2083, 9377, 5209), (2099, 1259, 9239), (2099, 1399, 3499), (2099, 3499, 1399), (2099, 9239, 1259), (2111, 1451, 2243), (2111, 2243, 1451), (2129, 4259, 6389), (2129, 6389, 4259), (2207, 1103, 5519), (2207, 5519, 1103), (2207, 7727, 1103), (2243, 1451, 2111), (2243, 2111, 1451), (2267, 3023, 3779), (2267, 3779, 3023), (2287, 6863, 9151), (2287, 9151, 6863), (2309, 1847, 7853), (2309, 7853, 1847), (2339, 4679, 7019), (2339, 7019, 4679), (2347, 7043, 9391), (2347, 9391, 7043), (2351, 3919, 6271), (2351, 5879, 8231), (2351, 6271, 3919), (2351, 8231, 5879), (2357, 1571, 5501), (2357, 5501, 1571), (2383, 1489, 6257), (2383, 6257, 1489), (2447, 1223, 3671), (2447, 3671, 1223), (2459, 1229, 8609), (2459, 8609, 1229), (2549, 5099, 7649), (2549, 7649, 5099), (2693, 5387, 8081), (2693, 8081, 5387), (2699, 1619, 3779), (2699, 3779, 1619), (2729, 1091, 3821), (2729, 3821, 1091), (2819, 1409, 4229), (2819, 4229, 1409), (2879, 4799, 6719), (2879, 5639, 5879), (2879, 5879, 5639), (2879, 6719, 4799), (2939, 5879, 8819), (2939, 8819, 5879), (2963, 2027, 3119), (2963, 3119, 2027), (2999, 1999, 4999), (2999, 4999, 1999), (3023, 2267, 3779), (3023, 3779, 2267), (3041, 1013, 2027), (3041, 1481, 1559), (3041, 1559, 1481), (3041, 2027, 1013), (3119, 1039, 4159), (3119, 1559, 4679), (3119, 2027, 2963), (3119, 2963, 2027), (3119, 4159, 1039), (3119, 4679, 1559), (3167, 1583, 4751), (3167, 4751, 1583), (3167, 7919, 1583), (3209, 1069, 7489), (3209, 7489, 1069), (3359, 4703, 6047), (3359, 6047, 4703), (3449, 1249, 9049), (3449, 9049, 1249), (3467, 1733, 8669), (3467, 5099, 5303), (3467, 5303, 5099), (3467, 8669, 1733), (3491, 1163, 9311), (3491, 9311, 1163), (3499, 1399, 2099), (3499, 1499, 4999), (3499, 2099, 1399), (3499, 4999, 1499), (3527, 4703, 5879), (3527, 5879, 4703), (3637, 1069, 1283), (3637, 1283, 1069), (3671, 1223, 2447), (3671, 2447, 1223), (3779, 1619, 2699), (3779, 1889, 5669), (3779, 2267, 3023), (3779, 2699, 1619), (3779, 3023, 2267), (3779, 5669, 1889), (3821, 1091, 2729), (3821, 2729, 1091), (3833, 1277, 6389), (3833, 6389, 1277), (3919, 2351, 6271), (3919, 6271, 2351), (3989, 1049, 1259), (3989, 1259, 1049), (4007, 2003, 6011), (4007, 6011, 2003), (4049, 1979, 2069), (4049, 2069, 1979), (4159, 1039, 3119), (4159, 3119, 1039), (4229, 1409, 2819), (4229, 2819, 1409), (4259, 2129, 6389), (4259, 6389, 2129), (4463, 1151, 4751), (4463, 4751, 1151), (4679, 1559, 3119), (4679, 2339, 7019), (4679, 3119, 1559), (4679, 7019, 2339), (4703, 1567, 6271), (4703, 1847, 7559), (4703, 3359, 6047), (4703, 3527, 5879), (4703, 5879, 3527), (4703, 6047, 3359), (4703, 6271, 1567), (4703, 7559, 1847), (4751, 1151, 4463), (4751, 1583, 3167), (4751, 3167, 1583), (4751, 4463, 1151), (4759, 1399, 5039), (4759, 5039, 1399), (4783, 6991, 8831), (4783, 8831, 6991), (4799, 2879, 6719), (4799, 6719, 2879), (4999, 1499, 3499), (4999, 1999, 2999), (4999, 2999, 1999), (4999, 3499, 1499), (5039, 1399, 4759), (5039, 4759, 1399), (5099, 2549, 7649), (5099, 3467, 5303), (5099, 5303, 3467), (5099, 7649, 2549), (5209, 2083, 9377), (5209, 9377, 2083), (5279, 1759, 7039), (5279, 7039, 1759), (5303, 3467, 5099), (5303, 5099, 3467), (5387, 2693, 8081), (5387, 8081, 2693), (5501, 1571, 2357), (5501, 2357, 1571), (5519, 1103, 2207), (5519, 2207, 1103), (5639, 2879, 5879), (5639, 5879, 2879), (5669, 1889, 3779), (5669, 3779, 1889), (5879, 2351, 8231), (5879, 2879, 5639), (5879, 2939, 8819), (5879, 3527, 4703), (5879, 4703, 3527), (5879, 5639, 2879), (5879, 8231, 2351), (5879, 8819, 2939), (6011, 2003, 4007), (6011, 4007, 2003), (6047, 3359, 4703), (6047, 4703, 3359), (6257, 1489, 2383), (6257, 2383, 1489), (6271, 1567, 4703), (6271, 2351, 3919), (6271, 3919, 2351), (6271, 4703, 1567), (6301, 1369, 9041), (6301, 9041, 1369), (6389, 1277, 3833), (6389, 1619, 1709), (6389, 1709, 1619), (6389, 2129, 4259), (6389, 3833, 1277), (6389, 4259, 2129), (6719, 2879, 4799), (6719, 4799, 2879), (6863, 2287, 9151), (6863, 9151, 2287), (6991, 4783, 8831), (6991, 8831, 4783), (7019, 2339, 4679), (7019, 4679, 2339), (7039, 1759, 5279), (7039, 5279, 1759), (7043, 2347, 9391), (7043, 9391, 2347), (7489, 1069, 3209), (7489, 3209, 1069), (7559, 1847, 4703), (7559, 4703, 1847), (7649, 2549, 5099), (7649, 5099, 2549), (7727, 1103, 2207), (7727, 2207, 1103), (7853, 1847, 2309), (7853, 2309, 1847), (7919, 1583, 3167), (7919, 3167, 1583), (8081, 2693, 5387), (8081, 5387, 2693), (8231, 2351, 5879), (8231, 5879, 2351), (8609, 1229, 2459), (8609, 2459, 1229), (8669, 1733, 3467), (8669, 3467, 1733), (8819, 2939, 5879), (8819, 5879, 2939), (8831, 4783, 6991), (8831, 6991, 4783), (9041, 1369, 6301), (9041, 6301, 1369), (9049, 1249, 3449), (9049, 3449, 1249), (9151, 2287, 6863), (9151, 6863, 2287), (9239, 1259, 2099), (9239, 2099, 1259), (9311, 1163, 3491), (9311, 3491, 1163), (9377, 2083, 5209), (9377, 5209, 2083), (9391, 2347, 7043), (9391, 7043, 2347), (9479, 1499, 1619), (9479, 1619, 1499)]
--
FROM 124.126.0.*