c - 如何删除 int 的最高有效位(例如从 547 到 47 再到 7)?

标签 c int

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

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

我唯一需要的代码部分是削减数字的部分。 如果我不能包含我的代码,我很抱歉,但目前我不知道该怎么做。您能否以算术方式和使用函数提出解决方案? (如果存在可以做到这一点的功能)

通过算术,我的意思是,仅通过使用标准的数学运算,我知道例如如何削减最低有效数字:

num = num / 10;

这样 547 就变成了 54 等等。

最佳答案

使用 modulo operation .例如,要保留十进制数 num 的最低有效 2 位,请使用 num % 100。它将产生一个介于 0 和 99 之间的数字,即 num 除以 100 的余数,这基本上是最低两位有效数字。

关于c - 如何删除 int 的最高有效位(例如从 547 到 47 再到 7)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48371657/

相关文章:

c - 给定基本 block 中的指令位置,如何找到该基本 block ?

在 C 中使用远指针时更改代码大小

php - PHP中简单数字的float到int改变值

C语言-查找包含字母的单词

c - 在 OpenGL 中实现旋转的推荐方法

Cocoa:NSUInteger 与 unsigned int 当范围非常小时?

java - 为什么 int exp1 = 14/20*100;等于java中的 '0'吗?

c++ - 在 CPP 中初始化一个 2 Dimensional vector<int>

C# int 字节转换

c - 两个结构对象保证相同的填充?