Algorithm 带Ads的列表算法

Algorithm 带Ads的列表算法,algorithm,Algorithm,我有一个n项目列表。我想在每个y项目后显示一个广告,从y项目后开始(不是0)。有了这些信息,我如何确定列表的总长度(原始n项目,加上广告y) 解决方案必须适用于所有n和所有y 这不是家庭作业问题或诸如此类的问题。我正在构建一个应用程序,我正在侧边栏中显示一个项目列表,我想在每5个(变量)之后显示一个广告 以下是我尝试过的: int n = //some integer int y = //some integer int counter = n; int adspacing = y; if(co

我有一个
n
项目列表。我想在每个
y
项目后显示一个广告,从
y
项目后开始(不是0)。有了这些信息,我如何确定列表的总长度(原始
n
项目,加上广告
y

解决方案必须适用于所有
n
和所有
y

这不是家庭作业问题或诸如此类的问题。我正在构建一个应用程序,我正在侧边栏中显示一个项目列表,我想在每5个(变量)之后显示一个广告

以下是我尝试过的:

int n = //some integer
int y = //some integer
int counter = n;
int adspacing = y;
if(counter > adspacing-1) {
 for(int i=0;i<n);i++) {
  if(i%adspacing == 0 && i != 0) {
    counter++;
  }
 }
}

return counter;
int n=//某个整数
int y=//某个整数
int计数器=n;
int=y;
如果(计数器>adspacing-1){

对于(int i=0;i要显示的加法数:

n/y 
因此,列表的总长度为

n+n/y 
示例y=3 n=3
xxxA:3+3/3=3+1=4

示例y=3 n=5

xxxAxx:5+5/3=5+1=6

使用长变量代替int;“所有
n
s和所有
y
s”…包括
n<0
y==0
?对不起,所有非负的
n
y
,如果n是3,y是2,会发生什么?n/y=1.5。我无法呈现3+1.5=4.5行。我需要一个整数。你怎么会在示例中使用+1,但你还没有在(伪)中显示它代码?@Adam:不,
n/y
在任何对整数类型使用整数除法的语言中都不是1.5,整数类型包括您的代码看起来像的整数类型。在其他语言中,您可以使用
floor
trunc
函数来丢弃小数部分。可以将其视为
n+floor(n/y)
。顺便说一句,
y>0
。我发现它很接近,但不正确。
n+(n/(y-1))
听起来正确吗?这似乎对我的大多数测试都有效。我问这个问题的唯一原因是我不想因为我没有在问题中提供足够/正确的信息而不接受你的答案。@Adam:请给出一个具体的反例。