EisatoponAI

Your Daily Experience of Math Adventures

Πώς να βρεις τρεις άγνωστους αριθμούς με δύο ερωτήσεις 🔍🔢

Φανταστείτε ότι κάποιος σκέφτηκε τρεις φυσικούς αριθμούς x, y, z. Εσείς δεν ξέρετε τις τιμές τους, αλλά σας επιτρέπεται να κάνετε δύο ερωτήσεις.

Κάθε ερώτηση έχει τη μορφή:

S=ax+by+cz

όπου επιλέγετε εσείς τους συντελεστές aa, bb, cc, και το άτομο σας απαντάει με το αποτέλεσμα SS.

Στόχος: να βρείτε με βεβαιότητα τις τιμές των xx, yy και zz.


Έξυπνη στρατηγική

Αν γνωρίζετε ένα άνω όριο MM για τους αριθμούς (δηλαδή ξέρετε ότι 0x,y,zM0 \le x,y,z \le M), τότε αρκεί μόνο μία ερώτηση!

  1. Επιλέξτε:

    (a,b,c)=(1, B, B2)

    όπου B=M+1B = M + 1.

  2. Κάνετε την ερώτηση και παίρνετε:

    S=x+By+B2z
  3. Βρίσκετε τους αριθμούς απευθείας από το SS:

    x=SmodBy=SBmodBz=SB2

Η τιμή του SS λειτουργεί σαν αναπαράσταση σε βάση BB, άρα οι τρεις αριθμοί προκύπτουν αμέσως!


Παράδειγμα

Ας πούμε ότι x=7x=7, y=13y=13, z=25z=25, και ξέρουμε ότι κανένας αριθμός δεν ξεπερνά το M=500M=500.

  • Διαλέγουμε B=501B = 501.

  • Ρωτάμε:

    S=x+501y+5012z
  • Η απάντηση είναι:

    S=7+13501+255012
  • Από το SS, βρίσκουμε:

    x=Smod501,y=S501mod501,z=S5012

Αν δεν γνωρίζετε άνω όριο

Όταν δεν γνωρίζουμε άνω όριο, επιλέγουμε δύο διαφορετικούς αριθμούς BB και BB' που είναι αμοιβαία πρώτοι (δηλαδή gcd(B,B)=1\gcd(B,B')=1).
Μετά, εφαρμόζουμε το Κινέζικο Θεώρημα Υπολοίπων (CRT) για να βρούμε μοναδικά τις τιμές των x,y,zx,y,z.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου