²é¿´: 1073  |  »Ø¸´: 5
±¾Ìû²úÉú 1 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

holmescn

½ð³æ (ÕýʽдÊÖ)

[½»Á÷] Euler ¹¤³Ì µÚËÄʮһÌâ ÒÑÓÐ1È˲ÎÓë

ÓÖÊÇÒ»¸öÊý¶ÀÊýµÄÌâ.

Ò»¸önλµÄÊý¶ÀÊý(pandigital)¶¨ÒåΪ: °üº¬1µ½nÕân¸öÊý×Ö, ÇÒÿ¸öÊý×Ö½ö°üº¬Ò»´Î.

±ÈÈç2143¾ÍÊÇÒ»¸öÊý¶ÀÊý, ͬʱËû»¹ÊÇÒ»¸öÖÊÊý.

ÄÇô×î´óµÄnλÊý¶ÀÖÊÊýÊǶàÉÙ?

[ Last edited by holmescn on 2011-7-14 at 20:52 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

½ð³æ (ÕýʽдÊÖ)

¡ï
jjdg(½ð±Ò+1): ¸Ðл²ÎÓë 2011-07-14 20:11:38
±¾À´ÊÇҪʵÏÖÒ»¸ö»ùÓÚλÖõÄÈ«ÅÅÁÐËã·¨, ½á¹û·¢ÏÖÁËÒ»¸öÓý׳˵ÄËã·¨. ÕæÊÇÒâÍâµÄÊÕ»ñ.

¿´ÉÏÃæµÄFortranËã·¨. Èç¹ûÐòÁ㤶ÈΪm, ÄǵÚn¸öÅÅÁеĵÚÒ»¸öÔªËØµÄindex¾ÍÊÇ

È»ºóµÚ¶þ¸öÔªËØÊÇÊ£ÏÂÔªËØµÄµÚn1¸öÈ«ÅÅÁеĵÚÒ»¸öÔªËØ, ¶øn1ÓÉÏÂÃæÕâ¸öʽ×ӵõ½

ÕâÑù,¾ÍÄÜÒÀ´ÎµÃµ½Ã¿¸öÔªËØÔÚÔ­ÐòÁÐÖеÄindexÁË. Ò²¾ÍµÃµ½Á˵ÚN¸öÈ«ÅÅÁÐ.

[ Last edited by holmescn on 2011-7-14 at 17:06 ]
4Â¥2011-07-14 16:40:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 6 ¸ö»Ø´ð

holmescn

½ð³æ (ÕýʽдÊÖ)

¡ï ¡ï ¡ï
ÓàÔó³É(½ð±Ò+3, ³ÌÐòÇ¿Ìû+1): ¹ÄÀø½»Á÷£¡ 2011-07-13 09:53:24
Python͵ÀÁ°æ:
CODE:
# Project Euler Problem 41
#
#
# Gen Primes

from math import sqrt
from itertools import permutations

def isPrime(n):
    for x in xrange(2, int(sqrt(n))):
        if n % x == 0:
            return False
    return True

num = [9, 8, 7, 6, 5, 4, 3, 2, 1]

l = 9
left = 0
while l > 1:
    for x in permutations(num[left:], l):
        n = int("%d"*l % x)
        if isPrime(n):
            print "It is", n
            l = 1
            break
    l -= 1
    left += 1

Result: 7652413
Elapsed Time: 3.6 s

Èç¹û´Ó7¿ªÊ¼,ÄÇÖ»Òª0.044s.

[ Last edited by holmescn on 2011-7-14 at 21:18 ]
2Â¥2011-07-13 09:24:04
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

½ð³æ (ÕýʽдÊÖ)

¡ï ¡ï
xzhdty(½ð±Ò+2): »¶Ó­³£À´ 2011-07-14 15:43:00
¸ÄÕýºó,ÓÃʱ²»µ½0.002sÁË.Ò²²»ÓÃOpenMPÁË.
CODE:
Program euler41
    Implicit None
    Integer, Parameter :: N = 7
    Integer, Dimension(N) :: Digits
    Integer :: I, R, X

    ! Digits
    Digits = (/(I, I=N,1,-1)/)

    !$OMP PARALLEL SHARED(Digits) Private(R,I,X)
    !$OMP DO
    Do R = 9, 1, -1
        Do I = 1, Arrangement(N, R)
            X = Permutations(R, I)
            If(IsPrime(X)) Then
                Print *, X
            EndIf
        EndDo
    EndDo
    !$OMP END DO
    !$OMP END PARALLEL

Contains

    Function Arrangement(N, M) Result(R)
        Implicit None
        Integer, intent(in) :: N, M
        Integer :: R
        Integer :: I
        R = 1
        Do I = (N-M+1), N
            R = R * I
        End DO
    EndFunction

    Function IsPrime(N) Result(R)
        Implicit None
        Integer :: N, I
        Logical :: R
        R = .True.
        !$OMP PARALLEL SHARED(N, R) PRIVATE(I)
        !$OMP DO
        DO I = 2, Floor(Sqrt(N*1.0))
            If(Mod(N, I) == 0) Then
                R = .False.
            EndIf
        EndDo
        !$OMP END DO
        !$OMP END PARALLEL
        Return
    EndFunction

    Function Permutations(R, nth) Result(V)
        Implicit None
        Integer, Dimension(N) :: Indices
        Integer, Intent(In) :: R, nth
        Integer :: V
        Integer :: M
        Integer :: Factorial
        Integer :: I, J, K

        Indices = 1
        M = nth - 1
        V = 0
        Factorial = Arrangement(N-1, N-1)

        Do I = 1, R
            J = M / Factorial + 1
            M = Mod(M, Factorial)
            If(N.ne.I) Factorial = Factorial / (N-I)

            ! Find the index
            K = 1
            Do
                If(Indices(K) > 0) J = J - 1
                If(J .eq. 0) Exit
                K = K + 1
            End Do
            Indices(K) = 0

            ! Gen the Number
            V = V*10 + Digits(K)
        EndDo
    EndFunction
End Program euler41

[ Last edited by holmescn on 2011-7-14 at 21:21 ]
3Â¥2011-07-14 15:03:23
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
jjdg(½ð±Ò+1): ¸Ðл²ÎÓë 2011-07-14 20:11:47
ÒýÓûØÌû:
Originally posted by holmescn at 2011-07-13 09:24:04:
Python͵ÀÁ°æ:
# Project Euler Problem 41
#
#
# Gen Primes

from math import sqrt
from itertools import permutations

def isPrime(n):
    for x in xrange(2, int(sqrt(n))):

ÊÇ"Êý¶ÀÖÊÊý"°¡,1-9¿Ï¶¨²»ÊÇÖÊÊý,sum(1:9)=45 mod 3 = 0°¡

matlabµÄ
CODE:

function result = euler41()
tic;
n = 7; % sum(1:9) mod 3 == 0, sum(1:8) mod 3 == 0
numlist = sort(str2num(perms('1':num2str(n))),'descend'); % get descend sort
result = isprime(numlist);
result = numlist(result==1); % find all primes
result = result(1); % find the biggest
toc;
end

½á¹û
CODE:
% Elapsed time is 0.284507 seconds.
% ans =
%      7652413

matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
5Â¥2011-07-14 19:18:42
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] ͶƱ:  ÓжàÉÙÈËÊǽñÌì²éϵͳ֪µÀ½á¹ûµÄ£¿ +16 °®¿´ÊéµÄ¿ÉÀÖ 2026-08-26 18/900 2026-08-28 14:36 by winsaint
[»ù½ðÉêÇë] »ù½ð²»ÖУ¬¹²Ãã +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by »ðÐdz¬ÈËxi
[»ù½ðÉêÇë] Â鷳ר¼ÒÃÇ¿´¿´ÆÀίÃǵÄÒâ¼û£¨F¿ÚÃæÉÏ£© +4 gdd2018 2026-08-28 9/450 2026-08-28 14:22 by jklily
[»ù½ðÉêÇë] ¹ú×ÔÈ»ÃæÉϸ´ÅÌ~»¶Ó­ÌÖÂÛ (½ð±Ò+5) +12 ÇçÌì¼ÓÓÍ 2026-08-26 13/650 2026-08-28 11:32 by skyjudy
[»ù½ðÉêÇë] »ù½ðϵͳʲôÄÚÈÝҲûÓÐ 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[»ù½ðÉêÇë] ÄÄλ¸ßÈËÖÐÁË£¬°Ñ²éѯµ½µÄ½ØÍ¼Ìù³öÀ´ÈÃÎÒ¿´¿´£¬ÈÃÎÒ³¤³¤¼ûʶ +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[»ù½ðÉêÇë] ÉêÇëɾ³ý±¾Ìû +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by Äþ¾²ÖÂÔ¶sy
[»ù½ðÉêÇë] »ù½ðδÖУ¬ÕâÖÖ´ð¸´ÊÇÄ£°åÂ𣿠+5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[»ù½ðÉêÇë] ¿´°åÉÏÕâô¶àÖеģ¬ÓеãÏñ50ÈËȺÀï49¸öÈ˶¼ÊÇÆ­×ÓµÄÄÇÖָоõ¡­¡­ +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[»ù½ðÉêÇë] 2026ÄêµÄ¹ú¼ÒÉç¿Æ»ù½ðÏîĿͨѶÆÀÉóµÄйæÔòÓëж¯Ïò¡¢ÐÂÌôÕ½ +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[»ù½ðÉêÇë] 2026¹ú×ÔÈ»º¯ÆÀ·Ñµ½ÕË +22 ÑòÑü°å 2026-08-21 25/1250 2026-08-26 15:00 by zuocuiping
[»ù½ðÉêÇë] ³öÀ´ÁË +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by ±¦±´³æ×Ó
[»ù½ðÉêÇë] Ϊʲô¹ú×ÔÈ»²»ÄÜÖ±½Ó¹«²¼ +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[»ù½ðÉêÇë] ¹úºÏÀïÃæÄÜ¿´µ½ÁË +7 Ò»»³Ü°Çï 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[»ù½ðÉêÇë] ϵͳ½ø²»È¥ +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[»ù½ðÉêÇë] ½ñÌìÎñί»á¿ªÍêÁË£¬Ã÷Ìì³ö½á¹ûÂð +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[Ö°³¡ÈËÉú] ѧÉúײ¼û¸¨µ¼Ô±ËÍÍâÂô£¬µÚ¶þÌìÈ«°à¶¼³ÁĬÁË +3 ¾¨ÓãÈÚ½ð_Õã½­_É 2026-08-22 3/150 2026-08-26 09:01 by zzuzxg
[»ù½ðÉêÇë] Å£À´£¡Ã×À´£¡ÃæÀ´£¡ +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[»ù½ðÉêÇë] Ã÷ÌìÓ¦¸Ã¿É²éÁË£¡£¿ +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[½Ìʦ֮¼Ò] Ìø²ÛºóÔÚÑÐÏîÄ¿Ôõô°ì£¿ +5 ¼òµ¥»¯xn 2026-08-22 10/500 2026-08-23 12:38 by ¼òµ¥»¯xn
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û