我正在使用rand函数来模拟两个骰子,如果两个骰子的总和是素数,则玩家获胜但是当编译它时它给出一个常数值236,输出总是“玩家赢了236次”,这不应该是如果我使用rand()函数
的情况#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
int isprime(int num)
{
int ans = 0;
int i ;
int root_x = sqrt(num);
for(i = 2 ; i <=root_x ; i++ )
{
int check = num % i;
if (check == 0 )
{
ans = ans+1;
}
}
return ans;
}
int main ()
{
int counter = 0;
int sum;
int p_ans ;
int j;
int dice_1;
int dice_2;
for(j = 0 ; j< 500 ; j++)
{
dice_1 = rand() % 6 + 1;
dice_2 = rand() % 6 + 1;
if (dice_1 == dice_2)
{
dice_2 = rand() % 6 + 1;
}
sum = dice_1 +dice_2;
p_ans = isprime(sum);
if(p_ans == 0)
{
counter = counter + 1 ;
}
}
cout<<"Player wins" <<counter<<"times\n" ;
return 0;
}