比如 if(isprime(j)||isprime(k))
isprime 可以转化为什么语句
因为这个还没有学
isprime 可以转换为 什么呢
用最基本的吧
if()语句的()放的是boolean型数据,所谓boolean型数据,它只有两个结果,真和假(0和1。true和false这都是真和假的同义表示)。
在你的语句中,if()语句()中表示isprime(j)||isprime(k) 是否为真?若为真则执行if(){...}花括号中的内容,为假则不执行。
PS:对于isprime(j)||isprime(k)的解释
isprime(j),isprime(k)分别为两个函数(其实是一个函数,即isprime()函数,只是参数不同而已)isprime()函数字面意思是判断一个数是否为素数。两个函数中间的||是或者的意思。isprime(j)||isprime(k):他的意思是说j和k是否为素数,当他俩之中至少有一个为素数的时候该语句即为真
(会执行{}中的内容)。我这么说不知道是不是你想要的答案?
int isprime (int n)
{
int flag,i;
flag=1;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
{
flag=0;
break;
}
return flag;
}
就是一个判断是否是素数函数,如果是就会返回1;
比如:
num_box = [1 2 3; 4 5 6; 7 8 9];
isprime(num_box)
ans =
0 1 1
0 1 0
1 0 0
#include<stdio.h>
#include<math.h>
int main(){
int n;
scanf("%d",&n);
int i=0,j=0;
if(n>2){
int isContinue = 1;
int i = 1;
while(isContinue){
int j=0;
int isPrime=1;
int temp = n+i;
for(j=2;j<sqrt(temp);j++){
if (temp%j==0){
isPrime = 0;
break;
}
}
if(isPrime){
printf("%d\n",temp);
isContinue = 0;
}
isPrime=1;
temp = n-i;
for(j=2;j<sqrt(temp);j++){
if (temp%j==0){
isPrime = 0;
break;
}
}
if(isPrime){
printf("%d\n",temp);
isContinue = 0;
}
i++;
}
}
else
printf("2\n");
return 0;
}