gpt4 book ai didi

c# - 如何计算两个整数的相似度?

转载 作者:太空狗 更新时间:2023-10-29 23:16:53 24 4
gpt4 key购买 nike

其实很难形容:
我想实现一种算法,比较两个给定整数/数字(具有相同“长度” ).它应该返回平等等级如下:

  • 4491 和 1020 = 0
  • 4491 和 4123 = 1
  • 4491 和 4400 = 2
  • 4491 和 4493 = 3
  • 4491 和 4491 = 4
  • 4491 和 4091 = 1

我不想基于字符串比较进行计算,因为我将在更大的场景中进行计算:)

最佳答案

public static int Compare(int i1, int i2)
{
int result = 0;
while(i1 != 0 && i2 != 0)
{
var d1 = i1 % 10;
var d2 = i2 % 10;
i1 /= 10;
i2 /= 10;
if(d1 == d2)
{
++result;
}
else
{
result = 0;
}
}
if(i1 != 0 || i2 != 0)
{
throw new ArgumentException("Integers must be of same length.");
}
return result;
}

注意:它不处理负整数

更新:问题更新后修复

关于c# - 如何计算两个整数的相似度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10601313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com