Java 如何确定字符串是否为算术级数(AP)
我的字符串是“2358132235”。我需要知道这是否是字符串数字正在进行算术级数。我可以一直做到8,但当我13岁时,我不知道如何处理这里的多位数。有人能帮忙吗。谢谢 私有静态布尔arthmetic(字符串s){ int i=0Java 如何确定字符串是否为算术级数(AP),java,string,Java,String,我的字符串是“2358132235”。我需要知道这是否是字符串数字正在进行算术级数。我可以一直做到8,但当我13岁时,我不知道如何处理这里的多位数。有人能帮忙吗。谢谢 私有静态布尔arthmetic(字符串s){ int i=0 for(i = 0 ; i <s.length()-2; i++) { int c = s.charAt(i)-'0'; int c1 = s.charAt(i+1)-'0' ;
for(i = 0 ; i <s.length()-2; i++)
{
int c = s.charAt(i)-'0';
int c1 = s.charAt(i+1)-'0' ;
int c2 = s.charAt(i+2)-'0' ;
if(c + c1 != c2)
{
return false;
}
}
return true;
}
for(i=0;我检查它是否符合预期的进度
一旦决定了前两个数字是什么(在您的示例中是2和3,但值得注意的是它是不明确的,您可以从1001和1002中得到一个前进字符串“1001100210310041005”,或者从1和22中得到一个“1224364”),用该级数生成一个足够长的字符串,它应该是什么样的,然后将其与给定的字符串进行比较。要解决这个问题,您需要编写一个解析器,检查每个可能的子字符串是否可以是级数。我们假设级数始终为正
让我们通过使用引用字符串“235813”的更简单版本的示例进行演示。解析器可能会构建以下标记化:
[“2”]
,[“2”,“3”]
,[“2”,“3”,“5”]
;拒绝,因为5-3!=3-2
[“2”]
,[“2”,“35”]
,[“2”,“35”,“81”]
;拒绝,因为81-35!=35-2[注:我们没有使用[“2”,“35”,“8”]
,因为我们假设进步总是正的]
[“2”]
,[“2”,“358”]
;拒绝,因为剩余的数字不能大于358
[“23”]
[“23”,“58”]
;拒绝,因为剩余的数字不能大于58
算术级数不再有可能使用子字符串。因此,此字符串不是算术级数。您的解析器也可以对较长的引用字符串应用相同的逻辑。您需要编写一个基本的解析器,它知道如果下一个数字不能满足要求,如何向前看TimBiegeleisen如何做到这一点。你能详细说明一下吗code@PalkiDutta-抱歉,但不鼓励让这里的人为您编写代码。@Stepehen C抱歉,我指的是示例。我错写了代码