重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;
在永吉等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、网站建设 网站设计制作专业公司,公司网站建设,企业网站建设,品牌网站建设,成都营销网站建设,成都外贸网站建设,永吉网站建设费用合理。
2.在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到 这个数的开方就行了,因为后面的因子和前面的就会倒过来。如同 24 - 2 x 12 和 12 x 2 一样。
#includestdio.h
int IsPrime(int n) // 判断是否为素数
{
if (n = 1) return 0;
if (n % 2 == 0) return n == 2; // 如果是偶数,只要不是2,其他都是非素数
for (int i = 3; ; i += 2)
{
if (i n/i) break; // 等价于 i*i n, 不用开方
if (n % i == 0) return 0;
}
return 1;
}
int main()
{
int i, cnt = 0;
for (i = 1; i 100; i++)
{
if (IsPrime(i))
{
printf("%3d ", i);
if (++cnt%5 == 0) // 每5个换行
printf("\n");
}
}
return 0;
}
参考代码:
int main(){
int num,m,n,d,c,priSum;
printf("Enter the Range Between m,n ");
scanf("%d %d", m,n);
for (num = n; num = m; num++)
{
for(d = 2; d num; d++)
{
if (num % d == 0){
continue;
}
}
if (d == num){
priSum += d;
c++;
}
}
printf("m~n之间的素数个数:%d,和 %d ",c,priSum);
return 0;
}
输出是否素数的信息的源代码如下:
#include stdio.h
#include stdbool.h
bool prime(int x){
if (2 x ) {
return false;
}
for (int i = 2; i x ; i++) {
if (0 == x % i ) {
return false;
}
}
return true;
}
int main(){
for (int i = 2; i 100; i++) {
if (prime(i)) {
printf("%d ",i);
}
}
printf("\n");
return 0;
}
扩展资料
1、函数的使用可以身故重复代码的编写。
2、函数使得程序更加模块化,有利于程序的阅读修改和完善。
3、素数就是没有因子的数,只能被1和本身整除,所以我们就可以用循环解决,循环用于从2到他的根式判定是否有其他数可以整除它,有就跳出循环。
#includestdio.h
#includemath.h
void main()
{
int input_x,result;
printf("Please enter a INT number: ");
scanf("%d",input_x);
result = prime_number(input_x);
printf("%d, ",input_x);
if(result)
{
printf("It is a prime number");
}
else
{
printf("It is 'not' a prime number");
}
}
prime_number(num)
{
int a,i,temp;
temp = 0;
a=sqrt(num);
for(i=2;i=a;i++)
{
if(num%i==0)
{
temp = 1;
break;
}
}
if(temp == 0)
return 1;
return 0;
}