如何解决“数字序列”定义为至少两个连续数字的序列
“数字序列”定义为至少两个连续数字的序列。 该函数接收一个数字并返回其具有的数字序列的数量。 示例:123678012具有3个系列(123,678,012) 234608012有2个系列(234,012) 这是我刚刚编写的代码,由于某种原因我一直都在添加代码1 所以我一直在思考为什么他会大量这样做而在少数情况下却不这样做 例如,数字236有一个系列,并且可以在我编写的代码中使用。 希望能有所帮助。
#include <iostream>
#include <string.h>
using namespace std;
int countSequeces(int num) {
int count = 0;
while (num != 0)
{
int last_digit = num % 10;
num = num / 10;
int two_last_digit = num % 10;
if (two_last_digit - last_digit == (-1) && last_digit - two_last_digit == 1)
{
count++;
}
}
cout << " number is : " << count;
return 0;
}
int main() {
countSequeces(234608012);
return 0;
}
解决方法
在您的代码中,234
将被视为两个序列,因为如果if语句在检查23
时为true,那么count
就会递增,而在检查{{ 1}},因此34
将再次增加。您需要确保每个系列仅对count
进行一次递增。
对此的一种解决方案可能是:
count
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。