Love calculator (just for fun)

For entertainment only: a love compatibility score from 0 to 100 made from two names. The same pair always gets the same score; it predicts nothing.

Cập nhật Ví dụ đã kiểm tra: 5

Thử
Match score
%
Match score: 54 %
Số nguyên; Gần nhất; nếu cách đều thì ra xa số không
Verdict
Worth a date

Romeo and Juliet score 54% — “Worth a date”. The number comes from a hash of the letters in the names, so it is the same every time and means nothing about a real relationship.

Match score

Friends firstSome sparkWorth a dateStrong matchStars54%Worth a date
Cách tính S
  1. Normalize the names

    Keep only letters, lowercase them and sort the pair so order doesn't matter: “juliet+romeo”.

  2. Hash

    32-bit FNV-1a of the UTF-8 bytes of “juliet+romeo” is 174137891.

  3. Scale to 0–100

    174137891 mod 101=54174137891 \bmod 101 = 54

Giới thiệu Love calculator (just for fun)

The score is a hash, not a measurement. The calculator keeps only the letters of both names, lowercases them, sorts the pair so the order doesn't matter, runs the 32-bit FNV-1a hash over the result and takes the remainder after dividing by 101, which gives a whole number from 0 to 100. The verdicts cover 0–20, 21–40, 41–60, 61–80 and 81–100.

The result is for entertainment only and does not predict anything about a real relationship. The same two names always get the same score, so Romeo and Juliet get 54% ("Worth a date") every time, in either order and any mix of capitals.

Every letter feeds the hash, so a nickname, a middle name or a surname gives an unrelated score.

Ví dụ có lời giải

Romeo and Juliet

First name
Romeo
Second name
Juliet
Match score
54%
Verdict
Worth a date

Nguồn đối chiếu: Python 3.8 FNV-1a of b'juliet+romeo' = 174137891; mod 101 = 54

Order, case and punctuation don't matter

First name
juliet!
Second name
ROMEO
Match score
54%

Nguồn đối chiếu: Same normalized key 'juliet+romeo' as above

Ada and Charles

First name
Ada
Second name
Charles
Match score
95%
Verdict
Match made in the stars

Nguồn đối chiếu: Python 3.8 FNV-1a of b'ada+charles' = 1687705348; mod 101 = 95

Elizabeth and Darcy

First name
Elizabeth
Second name
Darcy
Match score
36%
Verdict
Some spark

Nguồn đối chiếu: Python 3.8 FNV-1a of b'darcy+elizabeth' = 613105083; mod 101 = 36

Câu hỏi

How does this love calculator work?

It turns the letters of two names into a number with a fixed formula. The letters are lowercased, the two names are sorted into a pair, and the pair is hashed with 32-bit FNV-1a and reduced modulo 101 to a score from 0 to 100. Nothing about the people themselves goes in, so the score is entertainment and carries no meaning.

Can a love calculator predict a relationship?

No. The score comes from the spelling of two names and says nothing about compatibility. What does predict relationship quality is how each partner experiences the relationship: in a 2020 PNAS study pooling 43 longitudinal couples datasets from 29 laboratories, perceived partner commitment, appreciation, sexual satisfaction, perceived partner satisfaction and conflict were the top predictors, and relationship-specific measures explained up to 45% of the variance in relationship quality at the start of the studies.

Why do the same names always get the same score?

Because a hash is deterministic: the same input always gives the same output. The names are normalized first, so "Romeo" and "Juliet" or "juliet!" and " ROMEO " both become juliet+romeo and score 54. Adding a surname or using a nickname changes the letters and gives an unrelated score.

Do accented and non-Latin names work?

Yes. Any Unicode letter counts, including accented letters and non-Latin scripts, and the letters are hashed as UTF-8 bytes, so Zoë and Zoë score 71. Digits, spaces and punctuation are ignored, and a name with no letters at all gets an error.

“Love calculator (just for fun)” chính xác đến mức nào?

Độ chính xác phụ thuộc vào dữ liệu nhập và giả định của phương pháp. Phép tính thập phân dùng 50 chữ số có nghĩa, nhưng ước lượng, phương pháp số và dữ liệu nguồn có thể kém chính xác hơn; làm tròn khi hiển thị không loại bỏ các giới hạn đó. Ví dụ có lời giải đã đối chiếu với nguồn độc lập: 5. Ví dụ, “Romeo and Juliet” được kiểm tra bằng Python 3.8 FNV-1a of b'juliet+romeo' = 174137891; mod 101 = 54.

Phương pháp này lấy từ đâu?

IETF draft — The FNV non-cryptographic hash algorithm (Fowler, Noll, Vo).

Về công cụ tính này

score=FNV-1a⁡32(sorted lowercase letters) mod 101\text{score} = \operatorname{FNV\text{-}1a}_{32}(\text{sorted lowercase letters}) \bmod 101

Nguồn

  1. IETF draft — The FNV non-cryptographic hash algorithm (Fowler, Noll, Vo)

Để giải trí. Kết quả này không có cơ sở khoa học.

Đã đối chiếu nguồn tham khảo

Công cụ tính này có 5 ví dụ đã giải với đáp án từ các nguồn độc lập. Chúng được chạy trong bộ kiểm thử và bạn cũng có thể chạy tại đây.

Công cụ liên quan