第一种方法:
for (int i = 0; i <= 100; i++)
{
for (int j = 2; j <= i; j++)
{
if (i % j == 0 && i != j)
{
break;
}
if (i % j == 0 && i == j)
{
Console.WriteLine(i);
}
}
}
第二种方法:
for (int i = 1; i <= 100; i++)
{
int c = 0;
for (int j = 1; j < i; j++)
{
if (i % j == 0)
{
c += i;
}
}
if (c == i)
{
Console.WriteLine(c);
}
}
第三种方法:
for (int i = 2; i < 100; i++)
{
bool isPrime = true;//如果为质数则为true
for (int j = 2; j <= i / 2; j++)//例如i=7,当j=2,3,4的时候不能被整除,5,6也一定不能被整除,j <= i / 2可以减少一半的运算
{
if (i % j == 0)//如果两个数能被整除,那i就不是质数
{
isPrime = false;//不是质数则为false
break;//跳出循环
}
}
if (isPrime)//如果为真
{
Console.WriteLine(i);//输出i
}
}