php - 这段代码有什么作用?

标签 php algorithm

function mystery($y, $m, $d) {

  $a = 0;
  $b = 0;
  $c = 0;

  if($m < 3) {
    $a = $m + 10;
    $b = ($y-1) % 100;
    $c = ($y-1) / 100;
  }
  else {
    $a = $m - 2;
    $b = $y % 100;
    $c = $y / 100;
  }

  $w = (700 + (((26*$a)-2)/10)+$d+$b+$b/4+$c/4-(2*$c))%7;
  echo $w;

}

我的教程问题之一是询问函数计算的内容。我可以通读并解释每一个计算,但我确信这不是我们期望做的。是否有任何我没有看到的明显用途?

在我看来它可能是一种校验和算法,因为它似乎总是生成 0 到 6 之间的数字。

ps,它最初是用 Java 编写的,但为了简单起见,当我将它输入计算机进行测试时,我将它移植到了 PHP。如果有人愿意,我可以重新输入 Java 版本。

最佳答案

想想日期和马塞洛发布的内容。这是可编译的java。尝试使用各种输入运行该程序,看看您会得到什么。

class mys {
    public static void main(String[] args) {
          int y= Integer.parseInt(args[0]);
          int m= Integer.parseInt(args[1]);
          int d = Integer.parseInt(args[2]);
          int a = 0;
          int b = 0;
          int c = 0;

          if(m < 3) {
            a = m + 10;
            b = (y-1) % 100;
            c = (y-1) / 100;
          }
          else {
            a = m - 2;
            b = y % 100;
            c = y / 100;
          }

          int w = (700 + (((26*a)-2)/10)+d+b+b/4+c/4-(2*c))%7;
          System.out.println(w);
    }
}

关于php - 这段代码有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4007813/

相关文章:

php - 如何以纳秒精度获得 PHP 时间?

javascript - 如何使用 JavaScript 或 PHP 传回唯一 ID?

javascript - 查看一组项目是否放置在数组的特定部分中的最佳方法是什么?

javascript - 从下拉列表中选择一个名称,或者如果不退出,可以在文本框中写入

PHP 图像加载

c++ - 线段树空间要求

algorithm - 作为 N 函数的最坏情况运行时间的增长顺序

algorithm - 我如何确定所有 Actor 都收到了广播消息

python - 解析字典以具有一对一的键值映射

php - 如何创建 MySQL 触发器来跟踪更改