我使用随机生成的数字创建一个基本的神秘盒程序,以确定他们得到的稀有物品。但是,如果他们得到的数字是150的倍数,我希望他们得到一个特定的项目。我不确定如何确定随机数是否是150的倍数。
else if (num is in 150 times tables)
{
code...
}
答案 0 :(得分:6)
使用Modulo Operator '%'并检查剩余部分。
#include <stdio.h>
int prime(int n)
{
int i=2;
int n2;
n2 = n/2;
while (i<=n2) {
if (n%i == 0) {
return 0;
}
i++;
}
return 1;
}
int main()
{
int sum=0;
for (int i=101; i<=203; i+=2) {
if (prime(i)==1){
sum+=i;
}
}
printf("%d \n",sum);
return 0;
}
模运算符基本上是说“我可以将第一个数字除以第二个数,然后我还剩下什么?”。在此示例中,如果if (num % 150 == 0)
{
// It is divisable, do something
}
else
{
// Not divisable, do something else
}
除num
后剩余150
,那么它就完全适合您,并且您知道它是一个倍数。