Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Liste von Zahlen mit Pari/gp berechnen lassen (http://www.informatikerboard.de/board/thread.php?threadid=3516)


Geschrieben von blindmessenger am 30.03.2017 um 13:02:

  Liste von Zahlen mit Pari/gp berechnen lassen

Hallo,
ich würde gerne mit der pari/gp Funktion isprime () anstatt einer einzelnen Zahl gleich eine ganze Liste von Zahlen berechnen lassen... Ist das möglich? Wenn ja, wie kann ich das bewerkstelligen?

Ansatz: Irgendwie eine txt Datei nach pari/gp importieren?



Geschrieben von eulerscheZahl am 30.03.2017 um 13:12:

 

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
test_list(nums) = \
	p = []; \
	for(i=1,#nums, \
		if(isprime(nums[i]), \
			p=concat(p,nums[i])\
		) \
	); \
	return(p);
	
test_list([1,2,3,4,5,6])



Geschrieben von blindmessenger am 30.03.2017 um 13:37:

 

O.k. Ich glaube ich habe die Frage falsch gestellt... Ich habe mir eine txt Datei (unter Windows) gebastelt mit 100 untereinander stehenden Zahlen... Wie kann ich die jetzt am besten alle testen ob sie Prim sind?



Geschrieben von eulerscheZahl am 30.03.2017 um 13:50:

 

Pari unterstützt das Einlesen von Dateien leider nicht wirklich gut, siehe offizielle Seite.
Zitat:
Indeed, read does not work since it reads in the whole file, and all intermediate values are discarded. The simplest solution is to write all data into a vector or list and save the latter.


Wenn deine Datei etwa so aussieht:
code:
1:
2:
3:
4:
5:
6:
1
2
3
4
5
6

kannst du es mit readvec("/pfad/zur/Datei") aber trotzdem ganz gut einlesen. Von da aus kannst du dann meinen Code von oben verwenden.
Leerzeichen in einer Zeile werden aber einfach ignoriert, "1 2 3 4" wird zu "1234".



Geschrieben von blindmessenger am 30.03.2017 um 13:53:

 

Alles klar... Besten Dank...


Forensoftware: Burning Board, entwickelt von WoltLab GmbH