²é¿´: 3810  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] ÌåÖÆÄÚ³¤±²ËµÌåÖÆÄÚ¾ø´ó²¿·ÖÒ»±²×ÓÔڵײ㣬ÈçͬÄãÃÇÒ»Ñù´ó²¿·ÖÆÕͨ½ÌʦæÇÒÊÕÈëµÍ +10 ˲ϢÓîÖæ 2026-02-20 13/650 2026-02-23 11:23 by holypower
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 khieu8v8m0 2026-02-22 8/400 2026-02-23 09:35 by w4l55oybr1
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 8/400 2026-02-23 09:29 by w4l55oybr1
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +5 usprnugpzw 2026-02-21 11/550 2026-02-23 09:24 by w4l55oybr1
[½Ìʦ֮¼Ò] ΪʲôÖйú´óѧ¹¤¿Æ½ÌÊÚÃÇË®ÁËÄÇô¶àËùνµÄ¶¥»á¶¥¿¯£¬µ«»¹ÊÇ×ö²»³öÓîÊ÷»úÆ÷ÈË£¿ +5 »¶ÀÖËÌÒ¶Ýè 2026-02-21 8/400 2026-02-23 09:19 by »¶ÀÖËÌÒ¶Ýè
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 w89i99eaeh 2026-02-22 5/250 2026-02-23 08:04 by w4l55oybr1
[²©ºóÖ®¼Ò] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 6/300 2026-02-23 07:59 by w4l55oybr1
[²©ºóÖ®¼Ò] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +6 3dfhjxgsh7 2026-02-22 9/450 2026-02-23 07:49 by w4l55oybr1
[¿¼²©] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 4/200 2026-02-23 06:46 by jsjzfl
[¹«Åɳö¹ú] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 khieu8v8m0 2026-02-22 5/250 2026-02-23 06:29 by w4l55oybr1
[˶²©¼ÒÔ°] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 khieu8v8m0 2026-02-22 8/400 2026-02-23 06:24 by w4l55oybr1
[¿¼²©] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +5 3dfhjxgsh7 2026-02-22 6/300 2026-02-23 02:04 by 5jlh3qtdvx
[½Ìʦ֮¼Ò] °æÃæ·Ñ¸Ã½»Âð +7 Æ»¹ûÔÚÄÄÀï 2026-02-22 8/400 2026-02-22 22:37 by otani
[»ù½ðÉêÇë] ÃæÉÏ¿ÉÒÔ³¬¹ý30Ò³°É£¿ +4 °¢À­¹±aragon 2026-02-22 4/200 2026-02-22 21:22 by ɽÎ÷Ðü¿ÕË¿ÕÐüÎ
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +4 usprnugpzw 2026-02-21 6/300 2026-02-22 19:48 by w89i99eaeh
[¿¼ÑÐ] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 3dfhjxgsh7 2026-02-22 4/200 2026-02-22 16:52 by khieu8v8m0
[ÕÒ¹¤×÷] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 usprnugpzw 2026-02-22 3/150 2026-02-22 16:37 by khieu8v8m0
[¹«Åɳö¹ú] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8 O5 51O 54,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 usprnugpzw 2026-02-21 4/200 2026-02-22 16:27 by khieu8v8m0
[»ù½ðÉêÇë] ʲôÊÇÈËÒ»Éú×îÖØÒªµÄ£¿ +4 ˲ϢÓîÖæ 2026-02-21 4/200 2026-02-22 11:44 by huagongfeihu
[»ù½ðÉêÇë] ½ñÄê´ºÍíÓм¸¸ö½ÚÄ¿ºÜ²»´í£¬µãÔÞ£¡ +11 ˲ϢÓîÖæ 2026-02-16 12/600 2026-02-21 21:14 by lq493392203
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û