以例题示例:
计算100-200之间所有的质数之和(使用计数的方式判断是不是质数)
(注:判断一个数是否为质数,只需要判断这个数是否只能整除自身和1)
1.首先我们需要一个在100-200之间进行的循环,定义整型变量i表示100-200之间的数字
代码示例: for (int i = 100; i <= 200; i++)
{
循环体;
}
2.我们有了一个在100-200之间的循环后,那么就将判断该数是否为质数,就需要一个在1-这个数之间的循环,定义整型变量j表示1-i之间的数字
(注:上面我们提到判断一个数是否为质数,只需要判断这个数是否只能整除自身和1,那么我们需要将其从1到这个数之间的数都除一遍,看能否整除,此处我们定义一个整型变量num表示所能整除的个数)
代码示例:for (int i = 100; i <= 200; i++)
{
//判断i是不是质数
int num = 0;
for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
{
if (i % j == 0)
{
num++;//此处值为在1和i之间能被i整除的数的个数
}
}
}
3.从上面我们了解到,质数只能整除自身和1,那么质数num值只能为2
代码示例:for (int i = 100; i <= 200; i++)
{
//判断i是不是质数
int num = 0;
for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
{
if (i % j == 0)
{
num++;//此处值为在1和i之间能被i整除的数的个数
}
}
if (num == 2)//如果这个数只有两个能够整除的数,则为质数
{
}
}
4.最终需要我们输出的是100-200之间的所有质数之和,那么我们就需要将所有质数想加,定义一个整型变量sum表示质数之和
(注:我们最终输出的为质数之和,由于变量的作用域限制,我们需要将sum定义在第一个for循环之外)
代码示例:int sum = 0; //累加变量
for (int i = 100; i <= 200; i++)
{
//判断i是不是质数
int num = 0;
for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
{
if (i % j == 0)
{
num++;//此处值为在1和i之间能被i整除的数的个数
}
}
if (num == 2)//如果这个数只有两个能够整除的数,则为质数
{
sum += i;
}
}
5.到这一步,我们就实现了100-200之间质数相加的所有功能,下一步就是输出这个值
代码示例: int sum = 0; //累加变量
for (int i = 100; i <= 200; i++)
{
//判断i是不是质数
int num = 0;
for (int j = 1; j <= i; j++)//判断在i和1之间有几个数字能被i整除
{
if (i % j == 0)
{
num++;//此处值为在1和i之间能被i整除的数的个数
}
}
if (num == 2)//如果这个数只有两个能够整除的数,则为质数
{
sum += i;
}
}
Console.WriteLine("100-200之间的所有质数之和为:" + sum);
总结: for (表达式1; 循环条件; 表达式2)
{
循环体;
}
我们使用for循环式,应注意:
1.先运行表达式1,再判断循环条件是否为真,为真则执行循环体;
2.再运行表达式2,再判断循环条件是否为真,为真则执行循环体;
3.循环步骤2,直至循环条件为假,结束循环。