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.

更新于 已验证的示例:5

试一试
Match score
%
Match score: 54 %
整数;取最近值,等距时远离零
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
计算方法 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

关于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.

计算示例

Romeo and Juliet

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

核验来源: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%

核验来源: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

核验来源: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

核验来源:Python 3.8 FNV-1a of b'darcy+elizabeth' = 613105083; mod 101 = 36

常见问题

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)”有多准确?

准确性取决于输入值和方法的假设。十进制运算使用50位有效数字,但估算、数值方法和源数据的精度可能较低;显示时的舍入并不能消除这些限制。 已按独立来源核验的计算示例:5。 例如,“Romeo and Juliet”根据Python 3.8 FNV-1a of b'juliet+romeo' = 174137891; mod 101 = 54进行核验。

这种方法出自哪里?

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

关于此计算器

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

来源

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

仅供娱乐。此结果没有科学依据。

已对照来源验证

此计算器包含 5 个已解示例,答案来自独立来源。这些示例会在测试套件中运行,你也可以在此运行验证。

相关计算器