如何将残数与长长数分开?
How do I separate residue from long long number?
我正在 edx.org 参加 CS50 课程;它叫做计算机科学导论。
我正在尝试解决第一周的问题集。所以用户输入信用卡号,我必须开发某种算法来检查它的号码是否有效。为此,我需要将整个 16 位数字分开。而我被困在这里。我想我需要循环执行此操作,逐个数字地获取每个步骤,为此我想将用户的输入每一步除以 10,并以某种方式得到残差。
我无法转换为类型 int
,因为 int
对它可以容纳的位数有限制。我该如何实现这种功能?我试过了,但后来意识到它什么也没有……至少乍一看是这样。 cre_num
保留信用编号。
long long check(long long cre_num)
{
double part, i;
for (i = 0.1; i <= 1; i = i+0.1)
{
if (cre_num/10 == i)
{
part = i;
}
}
return part;
}
您需要输入一个向量,或类似的向量,一个数字的 16 位数字(long int)?
当您将一个数字 % 乘以 10 时,您会得到它的最后一位数字,如下所示:
13%10 = 3
3%10 = 3 (03 = 3)
523%10 = 3
所以,如果你 %10 你得到最后一位数字并放入你的矢量,而不是 /10,因为 /10 将删除最后一位数字,即你已经保存的那个。
如果你愿意,我可以尝试编写代码,但我认为你已经完成了。
我正在 edx.org 参加 CS50 课程;它叫做计算机科学导论。
我正在尝试解决第一周的问题集。所以用户输入信用卡号,我必须开发某种算法来检查它的号码是否有效。为此,我需要将整个 16 位数字分开。而我被困在这里。我想我需要循环执行此操作,逐个数字地获取每个步骤,为此我想将用户的输入每一步除以 10,并以某种方式得到残差。
我无法转换为类型 int
,因为 int
对它可以容纳的位数有限制。我该如何实现这种功能?我试过了,但后来意识到它什么也没有……至少乍一看是这样。 cre_num
保留信用编号。
long long check(long long cre_num)
{
double part, i;
for (i = 0.1; i <= 1; i = i+0.1)
{
if (cre_num/10 == i)
{
part = i;
}
}
return part;
}
您需要输入一个向量,或类似的向量,一个数字的 16 位数字(long int)?
当您将一个数字 % 乘以 10 时,您会得到它的最后一位数字,如下所示:
13%10 = 3
3%10 = 3 (03 = 3)
523%10 = 3
所以,如果你 %10 你得到最后一位数字并放入你的矢量,而不是 /10,因为 /10 将删除最后一位数字,即你已经保存的那个。
如果你愿意,我可以尝试编写代码,但我认为你已经完成了。