如何删除整数的最高有效位(例如,从547到47到7)?

Pag*_*e98 0 c int

我必须编写一个程序来检查int是否是质数。如果是的话,我必须剪切最高有效位数并检查新数字是否为质数,再次剪切最高有效位数并再次检查,直到我的数字长为1位数为止。

例如,如果我有547,则检查它是否为质数。确认为是后,我将5剪掉并检查47是否为素数,然后检查7是否为素数。

我需要的代码的唯一部分是削减数目。很抱歉,如果我无法包含我的代码,但是目前我还不知道该怎么做。您能以算术方式还是通过函数建议解决方案?(如果存在可以执行此操作的功能)

我指的是算术,仅通过使用标准数学运算,就可以知道如何减少最低有效位:

num = num / 10;
Run Code Online (Sandbox Code Playgroud)

这样547就会变成54,依此类推。

Azi*_*ziz 5

使用模运算。例如,要保留十进制数字的最低两位num,请使用num % 100。它会产生0和99之间的数字,表示分割的其余部分num通过100,这基本上是在至少两个显著数字。

  • @Paglie98 使用以 10 为底的对数来查找十进制位数。请参阅:/sf/ask/1692375261/ Correctly-calculate-the-length-of-a-integer (2认同)