Sum of all the prime numbers under 100, sum of the ten smallest prime numbers.

조회 수: 6 (최근 30일)
As the title says i have to create a program which sums all the prime numbers under 100, and sums the ten smallest prime numbers. I can't use the built in functions like: sum, prime, etc. I tried making a program using those functions and it worked.
I'm thinking about something like this:
i have to write a program that detects a prime number, since a prime number only can be divided by 1 and itself, i need to write a program that detects that.
Then i need to customize it so that it detects all the prime numbers under 100.
Then it needs to sum all of the prime numbers under 100 and displays the "sum".
For the "ten smallest prime numbers", i have no idea to be honest..
Cheers!

채택된 답변

Torsten
Torsten 2016년 2월 5일
Oh come on ...
summe = 0;
nprime = 0;
for i = 2:100
istprime = 1;
for j = 2:i-1
if mod(i,j)==0
istprime = 0;
break;
end
end
if istprime == 1
nprime = nprime + 1;
summe = summe + i;
if nprime == 10
summe_first_ten = summe ;
end
end
end
Best wishes
Torsten.

추가 답변 (3개)

Walter Roberson
Walter Roberson 2016년 2월 4일
For the 10 smallest prime numbers, check whether 1 is prime, check whether 2 is prime, check whether 3 is prime, and so on, continuing until you have 10 prime numbers. A while loop.
Hint: if you have already found all the primes under 100, then you do not need to repeat that work; for example if it turns out there are 7 primes under 100 then you could continue on from 100 until you found as many more as you needed.
  댓글 수: 4
Torsten
Torsten 2016년 2월 5일
A very primitive approach to test whether a number "n" is prime or not is to use MATLAB's "mod" function. If mod(n,i) == 0 for some 2<=i<=n-1, n is not prime.
Best wishes
Torsten.
Andreas Larsson
Andreas Larsson 2016년 2월 5일
this is how far i've come:
for i=2:100
for j=2:100
if(~mod(i,j))
break; % if factor found, not prime
end
end
if(j > (i/j))
fprintf('%d is prime\n', i);
end
end
Now i just need to sum them all together, i can't use sum function.

댓글을 달려면 로그인하십시오.


Torsten
Torsten 2016년 2월 5일
summe = 0;
for i = 2:100
istprime = 1;
for j = 2:i-1
if mod(i,j)==0
istprime = 0;
break;
end
end
if istprime == 1
summe = summe + i;
end
end
Best wishes
Torsten.
  댓글 수: 1
Andreas Larsson
Andreas Larsson 2016년 2월 5일
Thank you!!
However, how should i do it, for it to calculate the sum of the 10 first prime numbers?

댓글을 달려면 로그인하십시오.


Elias Gule
Elias Gule 2016년 5월 12일
편집: Elias Gule 2016년 5월 13일
Does this help
primes_ = primes(100);
sum_ = sum(primes_(1:10));

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by