Template:Task: Difference between revisions

From Rosetta Code
Content added Content deleted
(include documentation explaining this template's current structure)
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{infobox_begin}}{{Task/Icon}}'''{{Twin-Prime Conjecture}}'''<includeonly>{{#set:is task=true}}</includeonly><br/>
{{infobox_begin}}{{Task/Icon}}'''{{PAGENAME}}'''<includeonly>{{#set:is task=true}}</includeonly><br/>
You are encouraged to [[Rosetta Code:Solve a Task|solve this task]] according to the task description, using any language you may know.<includeonly>[[Category:Programming Tasks]]{{#if:{{{1|}}}|[[Category:{{{1}}}]]|[[Category:Solutions by Programming Task]]}}</includeonly>{{infobox_end}}<noinclude>
You are encouraged to [[Rosetta Code:Solve a Task|solve this task]] according to the task description, using any language you may know.<includeonly>[[Category:Programming Tasks]]{{#if:{{{1|}}}|[[Category:{{{1}}}]]|[[Category:Solutions by Programming Task]]}}</includeonly>{{infobox_end}}<noinclude>
{{template|Task identifier}}</noinclude>
{{template|Task identifier}}


<hr />
A twin prime is a pair of natural numbers P1 and P2 that satisfy the following:


This template identifies a page as a task page and adds it to [[:Category:Programming Tasks]] and either the category identified by the first argument to the template instance or (if none is supplied) [[:Category:Solutions by Programming Task]]</noinclude>
1. P1 and P2 are primes

2. P1 + 2 = P2

Write a program that displays the number of twin primes that can be found under a user-inputted number.

Examples below:
{{out}}
<pre>
> Search Size: 100
> 8 twin prime pairs.
</pre>

<pre>
> Search Size: 1000
> 35 twin prime pairs.
</pre>

=={{header|Java}}==
BigInteger implementation:
<lang Java>
import java.math.BigInteger;
import java.util.Scanner;

public class twinPrimes {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Search Size: ");
BigInteger max = input.nextBigInteger();
int counter = 0;
for(BigInteger x = new BigInteger("3"); x.compareTo(max) <= 0; x = x.add(BigInteger.ONE)){
BigInteger sqrtNum = x.sqrt().add(BigInteger.ONE);
if(x.add(BigInteger.TWO).compareTo(max) <= 0) {
counter += findPrime(x.add(BigInteger.TWO), x.add(BigInteger.TWO).sqrt().add(BigInteger.ONE)) && findPrime(x, sqrtNum) ? 1 : 0;
}
}
System.out.println(counter + " twin prime pairs.");
}
public static boolean findPrime(BigInteger x, BigInteger sqrtNum){
for(BigInteger divisor = BigInteger.TWO; divisor.compareTo(sqrtNum) <= 0; divisor = divisor.add(BigInteger.ONE)){
if(x.remainder(divisor).compareTo(BigInteger.ZERO) == 0){
return false;
}
}
return true;
}
}
</lang>
{{out}}
<pre>
<pre>
> Search Size:
> 100
> 8 twin prime pairs.
</pre>

<pre>
> Search Size:
> 1000
> 35 twin prime pairs.
</pre>

Latest revision as of 12:28, 15 October 2022

Task
Task
You are encouraged to solve this task according to the task description, using any language you may know.

This is a template. There are many others. See Category:RCTemplates for a complete list of templates.

This template identifies a page as a task page and adds it to Category:Programming Tasks and either the category identified by the first argument to the template instance or (if none is supplied) Category:Solutions by Programming Task