素数(质数)
我们之前了解了程序的简单从上到下顺序执行;
之后了解了“判断”,可以让计算机在条件成立时执行某条语句,在条件不成立时执行另一条语句;
然后又知道了“循环”,可以让计算机自动重复、永无止境地运行。
这便是程序设计中最基本的3种设计思想:
顺序执行、选择执行和循环执行。
正文
下面我们来了解一下揉和后的简单应用:
素数
先了解素数概念:除了1和自身以外没有其他数可以将其整除,否则称为合数,以前1是素数,但现在它既不是素数也不是合数。
但要知道条件:这个数是大于0的整数。
(即大于1的自然数。)
#include
int main()
{
int x;
scanf("%d", &x);
int i = 0;
int isPrime = 1; //x是素数
if (x> 0)
{
for (i = 2; i
if (x % i == 0) {
isPrime = 0;
}
}
if (x == 1) {
printf("既不是素数,也不是合数.");
}
else
{
if (isPrime == 1) {
printf("是素数\n");
}
else {
printf("不是素数(是合数)\n");
}
}
}
else
{
printf("请输入符合定义的数。\n");
}
return 0;
}
(先暂时不管isPrime的含义,暂且将它认为是一个判断素数的条件。)
来点测试
你知道怎样打印100以内的素数吗?
首先我们要对100以内的数进行逐个排查,符合条件的就将它打印出来,首先要用到遍历。
对100以内的数:
#include
int main()
{
int x;
for(x=2;x
int i=0;
int isPrime=1; //x是素数
for(i=2;i
if(x%i==0){
isPrime=0;
}
}
if(isPrime==1){
printf("%d\n",x);
}
}
return 0;
}
也许对现在这种小数据进行判断并不困难,但数据庞大时就要有智慧的进行排查,比如现在,就可以将数据除2以外其他2的倍数排除出去,从而节省时间。
有兴趣的可以进行试验一下。
一段
某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨挥毫,郑重地写下一行字:hello world!
领取专属 10元无门槛券
私享最新 技术干货