±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 3911  |  »Ø¸´: 18
±¾Ìû²úÉú 7 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴

holmescn

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

¡ï ¡ï ¡ï
ÓàÔó³É(½ð±Ò+3, ³ÌÐòÇ¿Ìû+1): ¹ÄÀø½»Á÷£¡ 2011-05-12 19:10:07
ΪÁË˵Ã÷΢³¾°æÖ÷µÄ¹Ûµã²»¶Ô£¬ÒÔ¼°ÎÒÒ²²»ÖªµÀÎÒ×Ô¼ºµÄÏë·¨¶Ô²»¶Ô£¬ÎÒдÁËÒ»¸öC++°æµÄ¼ÆËã¡£Ö®ËùÒÔÓÃÁËN¾Ã²»ÓõÄC++£¬ÊÇÒòΪÎÒ²»Ïë×Ô¼ºÊµÏÖÒ»¸ölist£¬¹þ¹þ¡£²»¹ý£¬ºÃÏñ²¢Ã»ÓбÈmatlab¿ì¶àÉÙ¡£

ËäÈ»600851475143²»ÄÜÓÃÒ»¸ö32λµÄint±íʾ£¬µ«ÏÔÈ»ËüµÄλÊýÉÙÓÚ15£¬¾Í¿ÉÒÔÓÃÒ»¸ödoubleÀ´±£´æ°¡¡£µ±È»£¬²é¾íµÄËã·¨¾ÍÒª»»ÓÃÊʺÏdoubleµÄÁË¡£
CODE:
#include
#include
#include

using namespace std;

int main(int argc, char** argv){

    double n = 600851475143.0;
    list primes;

    for(int i = 2; i < sqrt(n); i++)
        primes.push_back(i);

    while(n > 1.0){
        double prime = primes.front();
        if(fmod(n, prime) == 0){
            cout<             n /= prime;
        }

        list::iterator it;
        primes.erase(primes.begin());

        for(it = primes.begin(); it != primes.end(); it++){
            if(fmod(*it, prime) == 0)
                it = primes.erase(it);
        }
    }
}

[ Last edited by holmescn on 2011-5-12 at 15:10 ]
11Â¥2011-05-12 11:13:34
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

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

¡ï ¡ï ¡ï
ÓàÔó³É(½ð±Ò+3): ¹ÄÀøÌÖÂÛ£¡ 2011-05-12 19:10:35
Ë㷨˵Ã÷£º

ÒÔÉÏÓÃÈýÖÖÓïÑÔʵÏÖÁËͬһ¸öËã·¨¡£ÏÂÃæ¼òµ¥ËµÒ»Ï¡£

±¾ÌâµÄÖ÷ÒªÏë·¨ÊÇ£ºÕÒµ½Ã¿¸öÖÊÊý£¬È»ºó¿´¿´Õâ¸öÖÊÊýÊDz»ÊǸø¶¨µÄºÏÊýµÄÒò×Ó¡£

ҪĿµÄͬѧ¶¼Ê¹ÓÃÁËÏßÐԿռ䣺¼´´Ó2¿ªÊ¼£¬¿´Ã¿¸öÕûÊýÊDz»ÊÇÒ»¸öÖÊÊý£¬Èç¹ûÊÇÖÊÊý£¬ÄÇÊDz»ÊǸø¶¨ÊýµÄÒò×Ó¡£

µ«ÓÐÒ»µãÐèҪעÒ⣺Èç¹û2²»ÊǸø¶¨ÊýµÄÒ»¸öÒò×Ó£¬ÄÇô2nÒ²²»ÊÇËüµÄÒò×Ó£¬ËùÒԾͲ»ÓÃÔÙÊÔÕâЩÊýÁË¡£ÎÒµÄËã·¨¾ÍÊÇ»ùÓÚÕâ¸ö˼Ï룬°Ñm¼°mµÄ±¶Êý´Ó¿ÉÄܽâ¿Õ¼äÖгýÈ¥£¬ÒÔ¼õÉÙÕҵĴÎÊý¡£µ«Õâ¸öËã·¨ÏÖÔÚÓиöÎÊÌ⣬¾ÍÊÇÒ»¿ªÊ¼µÄʱºòÐèÒªÒ»¸ö´óÊý×éÀ´±íʾÿһ¸öÊý¡£Èç¹ûÎÒÃÇ¿ÉÒÔËã³öÏÂÒ»ÏÂÖÊÊý£¬ÄÇôÆäʵ¾Í²»ÐèÒªÔÚ¿ªÊ¼µÄʱºò¼Ç¼Õâô¶àÊýÁË¡£ÄܼõÉٺܶàµÄ¿Õ¼ä¿ªÏú¡£Õâ¸öËã·¨»¹ÔÚ˼¿¼ÖÐ....
12Â¥2011-05-12 15:17:52
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

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

¡ï ¡ï ¡ï
ÓàÔó³É(½ð±Ò+3, ³ÌÐòÇ¿Ìû+1): Ô½À´Ô½¿ì£¬ºÇºÇ£¡ 2011-05-12 19:10:53
Õâ»Ø¿ÉÄܽÐ˫ɸѡÁ˰ɣ¬¹ûÈ»ºÜÅ£°¡£¬±¾À´ÒÔΪ²»»áÌ«¿ìÄØ£¬¿´À´ÊÇÎÒµÄÄÔ×ÓÌ«ÂýÁË¡£
Ïȸø³ömatlabµÄ³ÌÐò¡£ÆäËüÓïÑÔÐèÒªÓж¯Ì¬Á´±íµÄÖ§³Ö¡£
CODE:
clear;
primes = [2];
n = 600851475143;
tic;
while n > 1
    m = length(primes);
    prime = primes(m)+1:primes(m)+m;
    for i = 1:m
        prime(find(mod(prime, primes(i))==0)) = [];
    end
    for i = 1:length(prime)
        if mod(n, prime(i)) ==0
            fprintf('%d\n', prime(i));
            n = n / prime(i);
        end
    end
    primes = [primes prime];
end
toc

Èç¹ûÊÇżÊý£¬2ÐèÒªÔ¤ÏÈ´¦Àíһϡ£Õâ¸ö³ÌÐòÔÚÎÒÕâÀïÐèÒª0.08sºÜˬÁË¡£

ɸѡ·¨µÄÔ­ÀíÊÇ£ºÓÃÒÑÖªµÄÖÊÊýµ±É¸×Ó¹ýÂËδ֪µÄÊý£¬È¥µôÖÊÊýµÄ±¶Êý¡£ÓàϵľÍÊÇÖÊÊýÁË¡£
13Â¥2011-05-12 17:17:14
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

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

æôÆï½«¾ü

¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÓàÔó³É(½ð±Ò+2): ¹ÄÀøÌÖÂÛ£¡ 2011-05-13 21:25:06
ÒýÓûØÌû:
Originally posted by holmescn at 2011-05-12 10:31:11:
·Ç³£µÄ±¯´ß°¡£¬Í¬ÑùµÄËã·¨£¬ÔÚmatlabÀïÖ»Óò»µ½7Ãë
[code]
n = 600851475143;
tic;
primes = 2:round(sqrt(n));
while n > 1
    prime = primes(1);
    if mod(n, prime) == 0
        disp(num2str ...

¶Ô,ÎÒºóÃæÓÐЩÌâÒ²ÓÃprimesÖ±½ÓÉú³ÉËØÊý,±£´æÆðÀ´²éÕÒ,ЧÂÊÌá¸ßÌ«¶àÁË
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
14Â¥2011-05-12 19:16:06
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

wangww2011

ľ³æ (ÖøÃûдÊÖ)

¡ï ¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÓàÔó³É(½ð±Ò+3, ³ÌÐòÇ¿Ìû+1): лл²ÎÓë½»Á÷£¡ 2011-05-17 08:25:17
¶î À´ÍíÁË
´ó¼ÒµÄËã·¨¶¼²»´í
ÎÒҲд¸öÒ»¸ö°É c ÓïÑ﵀ µü´ú·¨
CODE:
#include
#include
#include

#define TIMERSTART clock_t start_time,stop_time;double elapsed_time;start_time = clock();
#define TIMERSTOP stop_time = clock();elapsed_time=(double)(stop_time-start_time)/CLOCKS_PER_SEC;printf("elapsed time=%f seconds.\n",elapsed_time);

int euler2(int a, long long n){
  int i=0;
  for(i=a;i     if(n%i==0){
      printf("%d*",i);
      return euler2(i,n/i);
    }
  }
  printf("%lld\n",n);
  return n;
}



int main(void){
long long n=600851475143;
int repeat_num = 10000;

TIMERSTART;

while( repeat_num-- ){
   euler2(2,n);
}

TIMERSTOP;

  return 0;
}

ÖØ¸´10000´Î£¬¿ÉÄÜʱ¼ä»ñµÃµÄ²»ÊǺÜ×¼°¢
ÎÒ32λlinux (64λ²»È·¶¨ÓÐûÓÐÎÊÌâ)
ÔËÐнá¹û
CODE:
...
71*839*1471*6857
71*839*1471*6857
elapsed time=0.550000 seconds.

15Â¥2011-05-16 21:53:58
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zdapeng

½ð³æ (³õÈëÎÄ̳)

¡ï ¡ï ¡ï ¡ï
Сľ³æ(½ð±Ò+0.5):¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÓàÔó³É(½ð±Ò+3, ³ÌÐòÇ¿Ìû+1): лл²ÎÓë½»Á÷£¡ 2011-06-02 00:08:12
#include
#include
using namespace std;
/*ÎÊÌâ·ÖÎö£º
ѰÕÒ×î´óÖÊÒòÊý£¬Ö»ÐèÒª°´´ÓСµ½´óµÄÖÊÊý±éÀú
Èç¹ûÖÊËØÊǸÃÊýµÄÒòÊý£¬ÔòÓëÖ®Ïà³ý£¬Ö±ÖÁ²»ÔÙÊÇÆäÒòÊý
µ±¸ÃÊý±äΪ1ʱ£¬´ËʱµÄÖÊÒòÊý¼´ÎªÆä×î´óÖÊÒòÊý
*/
double getin()
{cout<<"please input a number:";
double aim;
cin>>aim;
return(aim);
}
int CheckPrime(int i)
{int j;
for(j=2;j<=sqrt(i);j++)
    if(i%j==0)
       return(0);
return(1);
}
double divide(double aim,int i)
{for(;fmod(aim,i)==0
    aim=aim/i;
return(aim);
}
int main()
{int i;
double aim;
aim=getin();
for(i=2;i<=aim;i++)
     if(CheckPrime(i))
        aim=divide(aim,i);
cout<<"the answer is "<<(i-1)< char sign;
cin>>sign;
exit(0);
}
¼¸ºõÊÇenter¾Í¸ø³ö½á¹û¡£
16Â¥2011-06-01 14:27:58
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

holmescn

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

ÒýÓûØÌû:
Originally posted by zdapeng at 2011-06-01 14:27:58:
#include<iostream.h>
#include<math.h>
using namespace std;
/*ÎÊÌâ·ÖÎö£º
ѰÕÒ×î´óÖÊÒòÊý£¬Ö»ÐèÒª°´´ÓСµ½´óµÄÖÊÊý±éÀú
Èç¹ûÖÊËØÊǸÃÊýµÄÒòÊý£¬ÔòÓëÖ®Ïà³ý£¬Ö±ÖÁ²»ÔÙÊÇÆäÒòÊý
µ±¸ÃÊý±äΪ1ʱ ...

ÍÆ¼öʹÓÃBBCode·¢²¼´úÂ룬BBCodeµÄÓ÷¨£¬ÍøÉÏÓкܶà.
17Â¥2011-06-02 07:42:57
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

liandaoacc

гæ (³õÈëÎÄ̳)

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
ÕâÊÇÎÒдµÄ£¬Ö»ÑéÖ¤ÁËһЩÊý£¬½á¹ûÊǶԵ쬶ÔÓÚ600851475143Ò²ÊǶԵ쬵«ÊÇûÓо­¹ý×ÐϸÑéÖ¤£¬ËùÒÔ²»¸Ò±£Ö¤¾ø¶Ô¶ÔµÄ¡£
#include <stdlib.h>
#include <map>
#include <iostream>
bool isPrime2(long n)
{
        if(n < 2)
                return false;
        if(n == 2)
                return true;
        if(n % 2 == 0)
                return false;
        for(long i = 3; i < n; i += 2)
        {
                if(n % i == 0)
                        return false;
        }
        return true;
}
void primeFactorDecomp(long long number, std::map<long, int> &primefactors)
{
        int size = primefactors.size();
        long beginprime = 2;
        long long numbercpy = number;
        int count = 0;
        if(size != 0)
        {
                std::map<long, int>::reverse_iterator rit = primefactors.rbegin();
                beginprime = rit->first;
                if(beginprime == 2)
                        beginprime += 1;
                else
                        beginprime += 2;
        }
        while(!isPrime2(beginprime))
        {
                beginprime += 2;
                if(beginprime > numbercpy)
                        return;
        }
        while(! (numbercpy % beginprime))
        {
                numbercpy /= beginprime;
                count++;
        }
        primefactors.insert(std::pair<long, int>(beginprime, count));
        primeFactorDecomp(numbercpy, primefactors);
}

int main(int argc, char** argv)
{
        long long number = 600851475143;
        std::map<long, int> primefactors;
        primeFactorDecomp(number, primefactors);
        std::map<long, int>::reverse_iterator rit = primefactors.rbegin();
        std::cout << rit ->first <<  '\n';
        return 0;
}
18Â¥2013-11-17 22:12:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

feign_te

½ð³æ (СÓÐÃûÆø)

¡ï
Сľ³æ: ½ð±Ò+0.5, ¸ø¸öºì°ü£¬Ð»Ð»»ØÌû
Èç¹ûÒѾ­ÓÐÒ»¸öºÏÊÊ´óСµÄËØÊýÁУ¬¿Ï¶¨ÊÇ×î¿ìµÄ¡£
µ¥¶ÀΪһ¸öÎÊÌâÈ¥ÇóËØÊýÁв»Ì«¾­¼Ã¡£
·½·¨ºÍÇ°ÃæÒ»Ñù£¬n³ý±éÆæÊýÕÒ³öµÚÒ»¸öÖÊÒòÊýp1Ö®ºó£¬ÓÃn/p1ÕÒ³öÏÂÒ»¸öÖÊÒòÊýp2£¬¿É´úÂëд³öÀ´¸Ð¾õ²î±ðºÃ´ó°¡¡£
CODE:
clear
tic
n = 600851475143;
prime=zeros(fix(log2(p)),1);
k=0;
m=n;
p=fix(n^.5);
r=3;
    for i =r:2:p
        if mod(m,i)==0
            k=k+1;
            r=i;         
            prime(k)=i;
            m=n/i;
            p=fix(m^.5);
            continue
        end     
    end
prime=prime(find(prime~=0))
toc

ÔËÐнá¹û
CODE:
prime =
          71
         839
        1471
        6857
Elapsed time is 0.021253 seconds.

19Â¥2013-12-10 06:53:21
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ holmescn µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[Óлú½»Á÷] 3-äåßÁà¤-4-¼×È©ºÏ³É 10+3 Ñ©¸âÒ²Äܱ¬Õ¨ 2026-03-31 9/450 2026-04-06 00:24 by nBuï®
[¿¼ÑÐ] µ÷¼Á +3 Àî¹ã»ð 2026-04-05 3/150 2026-04-05 18:57 by À¶ÔÆË¼Óê
[¿¼ÑÐ] һ־Ըͬ¼Ã´óѧ323·Ö£¨080500£©Çóµ÷¼Á +8 yikeniu 2026-04-01 8/400 2026-04-05 18:15 by cql1109
[¿¼ÑÐ] 348Çóµ÷¼Á +6 wukira 2026-04-04 6/300 2026-04-05 18:11 by Öí»á·É
[¿¼ÑÐ] ÊýÒ»Ó¢Ò»274»úеµ÷¼Á +5 ÐÇÔÉÁ÷ϼ 2026-04-04 6/300 2026-04-05 11:38 by arrow8852
[¿¼ÑÐ] »¯Ñ§357·Ö£¬¿¼Ñе÷¼Á +10 .Starry. 2026-04-04 11/550 2026-04-05 10:57 by cql1109
[¿¼ÑÐ] 298Çóµ÷¼Á +7 manman511 2026-04-05 7/350 2026-04-05 10:29 by ÌÆãå¶ù
[¿¼ÑÐ] ÄÐÉú£¬Ò»Ö¾Ô¸»¦9ÉúÎïѧ071000£¬³õÊÔ308Çóµ÷¼Á +3 Áõīī 2026-04-04 3/150 2026-04-05 08:26 by barlinike
[¿¼ÑÐ] 348·Ö»·¾³¹¤³Ì¡¤µ÷¼Á +10 ÎâÑå׿24k 2026-04-03 11/550 2026-04-04 14:19 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358 +6 cs0106 2026-04-03 6/300 2026-04-04 11:20 by w_xuqing
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©¿Æ¼¼´óѧ²ÄÁϹ¤³Ì085601£¬Çóµ÷¼Á +17 cdyw 2026-04-02 18/900 2026-04-04 11:14 by w_xuqing
[¿¼ÑÐ] 322Çóµ÷¼Á +6 FZAC123 2026-04-03 6/300 2026-04-03 22:23 by ¿ÆÑÐСר¼Ò
[¿¼ÑÐ] 286Çóµ÷¼Á +8 lim0922 2026-04-02 8/400 2026-04-03 20:19 by rzh123456
[¿¼ÑÐ] 289-Çóµ÷¼Á +4 ÕâÀïÊÇ_ 2026-04-03 4/200 2026-04-03 14:23 by 1753564080
[¿¼ÑÐ] 309Çóµ÷¼Á +14 ´ô¹½²»ÊÇ´÷·ò 2026-04-02 14/700 2026-04-03 09:42 by À¶ÔÆË¼Óê
[¿¼ÑÐ] һ־Ըɽ¶«´óѧ»¯Ñ§Ó뻯¹¤Ñ§Ôº²ÄÁÏÓ뻯¹¤×¨Ë¶£¬360·ÖÇóµ÷¼Á +4 ²»Ô¸Í¸Â¶ÐÕÃûµÄË 2026-04-02 4/200 2026-04-03 09:29 by ÒÅÍüÏûʧµÄž™
[¿¼ÑÐ] ½»Í¨ÔËÊ俼ÊÔ264·ÖÇ󹤿Ƶ÷¼Á +4 jike777 2026-04-02 4/200 2026-04-02 21:53 by zllcz
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÄÏʦ·¶´óѧ-22408¼ÆËã»ú-292·Ö-Çó»ªÄÏʦ·¶´óѧµ÷¼Á +4 °®¶ÁÊéµÄСöùÓã 2026-04-02 4/200 2026-04-02 18:35 by Çóµ÷¼Ázz
[¿¼ÑÐ] 08¹¤¿ÆÇóµ÷¼Á290·Ö +5 1314Åõ»¨ 2026-04-02 8/400 2026-04-02 13:16 by ÇÇßÕßÕßÕ
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©¿Æ¼¼£¬085601×Ü·Ö305Çóµ÷¼Á +9 °ëÉú¹Ï£¡ 2026-04-01 11/550 2026-04-02 08:28 by Wang200018
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û