首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从倍数(1到4)获得基数

从倍数(1到4)获得基数
EN

Stack Overflow用户
提问于 2016-02-24 07:59:33
回答 1查看 40关注 0票数 1

我有php和javascript函数,它们接收整数并返回1到4的值,下面是我的函数的工作原理:

  • 在1 /1 ->中,
  • 在2 -> 2中,
  • 在3 -> / 3,
  • 在4 -> 4中,
  • 在5 -> / 1中,
  • ..。
  • 在9 -> 1中,
  • ..。

这是我目前的功能:

代码语言:javascript
复制
function getGid(pid){ 
  gid = 0;
  while (pid > 4 ) { 
    pid = pid-4; 
      gid++; 
  }
  return gid;
}

我想知道我是否选择了一种好的方法,还是有其他更简单的方法?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-24 08:13:49

首先,PHP变量从$开始

接下来,从开始计算编程,而不是从1开始。所以,最快速、最优雅的解决方案是

代码语言:javascript
复制
function gid($pid) {
    return $pid % 4;
}

echo gid(1); // outputs 1
echo gid(2); // outputs 2
echo gid(3); // outputs 3
echo gid(4); // outputs 0
echo gid(5); // outputs 1
echo gid(6); // outputs 2
echo gid(7); // outputs 3
echo gid(8); // outputs 0

我会坚持的,但是你不想要通常的0,1,2,3,你想要4而不是0,所以.

代码语言:javascript
复制
function gid($pid) {
    return ($pid % 4 == 0)? 4 : $pid % 4 ;
}

echo gid(1); // outputs 1
echo gid(2); // outputs 2
echo gid(3); // outputs 3
echo gid(4); // outputs 4
echo gid(5); // outputs 1
echo gid(6); // outputs 2
echo gid(7); // outputs 3
echo gid(8); // outputs 4

Javascript的功能类似:

代码语言:javascript
复制
function gid(pid) {
    return (pid % 4 == 0)? 4 : pid % 4 ;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35596376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档