Additive primes: Difference between revisions

Added C# example
(Added C# example)
 
Line 1,074:
</pre>
 
=={{header|C sharp|C#}}==
<syntaxhighlight lang="csharp">
internal class Program
{
private static void Main(string[] args)
{
long primeCandidate = 1;
long additivePrimeCount = 0;
Console.WriteLine("Additive Primes");
 
while (primeCandidate < 500)
{
if (IsAdditivePrime(primeCandidate))
{
additivePrimeCount++;
Console.Write($"{primeCandidate,-3} ");
 
if (additivePrimeCount % 10 == 0)
{
Console.WriteLine();
}
}
 
primeCandidate++;
}
 
Console.WriteLine();
Console.WriteLine($"Found {additivePrimeCount} additive primes less than 500");
}
 
private static bool IsAdditivePrime(long number)
{
if (IsPrime(number) && IsPrime(DigitSum(number)))
{
return true;
}
 
return false;
}
 
private static bool IsPrime(long number)
{
if (number < 2)
{
return false;
}
 
if (number % 2 == 0)
{
return number == 2;
}
 
if (number % 3 == 0)
{
return number == 3;
}
 
int delta = 2;
long k = 5;
 
while (k * k <= number)
{
if (number % k == 0)
{
return false;
}
 
k += delta;
delta = 6 - delta;
}
 
return true;
}
 
private static long DigitSum(long n)
{
long sum = 0;
 
while (n > 0)
{
sum += n % 10;
n /= 10;
}
 
return sum;
}
}
</syntaxhighlight>
{{out}}
<pre>
Additive Primes
2 3 5 7 11 23 29 41 43 47
61 67 83 89 101 113 131 137 139 151
157 173 179 191 193 197 199 223 227 229
241 263 269 281 283 311 313 317 331 337
353 359 373 379 397 401 409 421 443 449
461 463 467 487
Found 54 additive primes less than 500
</pre>
 
=={{header|CLU}}==
9

edits