//List Style
using System;
using System.Collections.Generic;
using System.Linq;
public class pr{
static public void Main(){
int n, i, j, k, l, sum,flag = 0;
//int sum = i+j;
//int k = (n-i);
//int l = (n-j);
//System.Console.WriteLine ("Enter a number");
//n = Convert.ToInt32 (Console.ReadLine());
//List <int> primes = new List <int>(); //list to handle the numbers
//HashSet <int> myPrimes = new HashSet <int> (primes);
System.Console.WriteLine ("Enter a number");
n = Convert.ToInt32 (Console.ReadLine());
//myPrimes.Add(n);
//myPrimes.Add(i);
//myPrimes.Add(j);
// var count = string.Join(", ", primes);
//System.Console.WriteLine("The value of n is {0}",myPrimes);
for(i=3; i<n/2; i++){
for(j=3; j<n/2; j++){
if(checkPrime(i) == 1){
if(checkPrime(j) == 1){
if (checkPrime(n-i) == 1){
if (checkPrime(n-j) == 1){
//if(i == j){
//sum = i+j;
System.Console.WriteLine("{0}={1}+{2}\n",n,i,n-i);
//}
}
}
}
}
if (flag == 0 && (n-i) <= 0 && (n-j) <= 0){ //check to avoid dupes
if (n <= 0 && i <= 0 && j <= 0){
Console.Write("{0}\n",n);
}
}
}
}
}
public static int checkPrime(int n){
int i, j, flag = 1;
for (i = 2; i<=(Math.Sqrt(n)); i++){
for (j = 2; j<=(Math.Sqrt(n)); j++){
if (n%i == 0 && n%j == 0){ //even number check
i++;
j++;
flag = 0;
}
}
}
return flag;
}
}
Also experimentiere ich schon eine Weile damit. Ich kann nicht alle möglichen Lösungen drucken. Zum Beispiel für 24 bin ich in der Lage, 7 + 17, aber nicht 2 + 5 + 17 zu drucken. Es gibt auch einige Antworten, die wiederholt werden, und das mag damit zu tun haben, dass ich keine doppelten Schecks habe. Ich habe versucht, die Ganzzahlen in eine Liste zu pushen und dann ein Hashset zu verwenden, um nur ganzzahlige Ganzzahlen zu haben, aber ich blieb stecken und versuchte, es brutal zu erzwingen. Alle Zahlen, die gedruckt werden sollen, sollen verschiedene Primzahlzahlen sein. Ich verstehe nicht, wie man alle eindeutigen Zahlen druckt, und gibt es eine elegante Weise, alles Mögliche auszudrucken.Summe der Zahlen als eindeutige Primzahlen
Danke für die Hilfe!
Könnten Sie Ihren Code überprüfen? scheint die Klammer nicht richtig geschlossen zu sein – Prisoner
Auch eine bessere Einrückung hilft sehr! –