Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα, παιδιά !

Σήμερα είπα να παίξω ένα Joker και επί τη ευκαιρία θέλησα να δοκιμάσω τη γεννήτρια τυχαίων αριθμών της Prolog. Έγραψα λοιπόν αυτή εδώ τη ρουτίνα που απλά παράγει πέντε τυχαίους ακεραίους στο διάστημα [ 1,45 ] και έναν ακόμα στο διάστημα [ 1,20 ]. Όπως παίζεται μία στήλη Joker δηλαδή.  
Για να εξασφαλίσω όσο καλύτερη τυχαιότητα μπορώ, παίρνω την τρέχουσα ώρα από το ρολόι του υπολογιστή και τη χρησιμοποιώ κάθε φορά ως ένα νέο random seed.
Για να δουλέψει η ρουτίνα, απλά γράψτε joker με τελεία στο τέλος στο προτρεπτικό σήμα της Prolog χωρίς άλλες παραμέτρους.
Αν με τους αριθμούς που θα βγάλετε από εδώ, τύχει ν' αλλάξετε τη ζωή σας, ας μείνει και 1% για μένα.....!

set_seed :- get_time(X),round(X,K),set_random(seed(K)).
joker_aux :- random_between(1,45,R),write(R),nl.
joker :- set_seed,
        forall(between(1,5,_),joker_aux),
         nl,
         random_between(1,20,J),
         write("Joker number is : "),
         write(J).
         
Να είστε όλοι καλά,

Ο Άσπρος Γάτος

  • Like 4
Δημοσ. (επεξεργασμένο)

Έκανα το ίδιο σε Matlab επειδή βαριόμουν. 😛

function [quintet, joker] = generate()

	rng('shuffle');

	quintet = randperm(45, 5);
	joker   = randi(20);

end

 

Επεξ/σία από Haldol
Δημοσ.

γίνεται και με μια γραμμή:

console.log([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45].sort(function(a,b){return 0.5-Math.random()}).slice(0,5).join(', '));

 

Δημοσ.
3 λεπτά πριν, ajaxmonkey4hire είπε

γίνεται και με μια γραμμή:


console.log([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45].sort(function(a,b){return 0.5-Math.random()}).slice(0,5).join(', '));

Ναι, μα, το τζόκερ;

Δημοσ.

Δίκιο έχεις. Είναι 2 γραμμές:

console.log([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45].sort(function(){return 0.5-Math.random()}).slice(0,5).join(', '));
console.log([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20].sort(function(){return 0.5-Math.random()}).shift());

 

Δημοσ.

Σας ευχαριστώ πολύ όλους για την ανταπόκριση. Μια πλάκα πήγα να κάνω, έτσι απλά για να βρω μια αφορμή να παίξω λίγο με Prolog. Αυτό είναι όλο.

Να είστε καλά,

Ο Άσπρος Γάτος

Στις 13/8/2019 στις 5:11 ΜΜ, Lanike71 είπε

Ολοκλήρωσέ το, με ρουτίνα που στέλνει στον εκτυπωτή τα τυχαία νούμερα...

Στην Prolog γενικά η επικοινωνία με το υλικό σε χαμηλό επίπεδο είναι μανίκι και δεν παραξέρω απ' αυτά.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...