找到100以内所有的质数
方法一:(1)给x一个初值1
(2)输入一个数i,用i除以它前边的每个数,如果能整除,把0赋给x,退出循环
(3)判断x是否等于1,如果x=1,说明不能整除前边的每一个数,即为质数.此时输出i
(4)执行i从2到100这个循环,就能得到100以内的所有质数了
for(i in 2:100)
{
x=1
for(j in 2:(i-1))
{
if(i%%j==0)
{
x=0
break
}
}
if(x==1)
{
print(i)
}
}
方法二:(1)输入一个数i,用i除以它前边的每个数,如果能整除,退出循环;如果一直到i-1都不能整除,说明是质数,输出i
(2)执行i从2到100这个循环,就能得到100以内的所有质数了
for(i in 2:100)
{
for(j in 2:(i-1))
{
if(i%%j==0)
{
break
}
else if((i%%j!=0)&(j==(i-1)))
{
print(i)
}
}
}
方法三:(1)把i之前的所有数定义为向量try
(2)用i除以向量try,得到向量process
(3)输出向量process里面等于0的数的位置,如果这个长度等于0,如果都不能被整除,输出i
(4)执行i从2到100这个循环,就能得到100以内的所有质数了
for (i in 2:100)
{
try<-2:(i-1)
process <- i%%try
if(length(which(process==0))==0)
{
print(i)
}
}
计算100以内质数的个数
(1)在上边的基础上,增加一个变量y记录质数的个数.
(2)每次循环,如果x=1,说明输入的数是质数,y增加1.
(3)最后输出y即可.
y=0
for(i in 2:100)
{
x=1
for(j in 2:(i-1))
{
if(i%%j==0)
{
x=0
break
}
}
if(x==1)
{
y=y+1
}
}
print(y)