Manchester


私信TA

用户名:wenyajie

访问量:332165

签 名:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

等  级
排  名 1
经  验 65567
参赛次数 1
文章发表 188
年  龄 0
在职情况 学生
学  校 Xiamen University
专  业 计算机科学

  自我简介:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

解题思路:
素数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

1.输入一个数number,若number为大于一的自然数,判断它是否为素数;

2.number为大于一的小数,不是素数;

3.number小于等于1,不是素数;


参考代码:

#include <stdio.h>
 
int main()
{
    double    number;
    int    i;
    scanf( "%lf", &number );
 
    if ( number > 1 && number == (int) number ) //大于1的自然数
    {
        for ( i = 2; i < number; i++ )
        {
            if ( (int) number % i == 0 )
            {
                printf( "not prime" );
                break;
            }
        }
        if ( i == number )
            printf( "prime" );
    }
    if ( number>1&&(int) number != number )  //大于一的小数
        printf( "not prime" );
 
    if ( number <= 1 )   //小于等于一的数
        printf( "not prime" );
 
    return(0);
}


 

0.0分

44 人评分

  评论区

#include<stdio.h>
#include<math.h>
int fun(int n)
{
	int i,leap=1,k;
	k=(int)sqrt(n);
	for(i=2;i<=k;i++)
	{
		if(n%i == 0)
		{
			leap=0;
			break;
		} 
	}
	if(leap)return 1;
	else return 0;
	leap=1;
}

int main()
{
	int a,c;
	while(1)
	{
		printf("please input a number:");
		scanf("%d",&a);
		if(fun(a)!= 0)
		printf("prime\n");
		else printf("not a prime\n");
	}
	return 0;
}
2019-01-01 17:14:07
哪位大神来帮我改一下代码,运行结果正确,但是就是提交的时候答案错误

#include<stdio.h>
int max(int i)
{
	int a,b;
	a=1;
	b=0;
	while(a<=i)
	{
		if(i%a==0)
		{
			b=b+a;
			a++;
		}
		else
		a++;
	}
	if(b==i+1)
	return 0;
	else
	return 1;
}
main()
{
	int n;
	scanf("%d",&n);
	if(max(n)==0)
	printf("prinme");
	else
	printf("not prinme");
}
2018-12-14 12:53:15
#include<stdio.h>
int IsPrime(int n);

int main()
{
	int num;
	scanf("%d",&num);
	if (IsPrime(num))printf("prime\n");
	else printf("not prime\n");
	return 0;
}

int IsPrime(int n)
{
	int i;
	if(n==2)return 1;
	else if(n<2||n%2==0)return 0; //除2以外的偶数都不是素数
	else
	{
		for(i=3;i<=n/2;i+=2)//奇数中,能被整除的数的最大约数都不大于它的一半 ,(除了它本身),奇数只能被奇数整除
		{
			if (n%i==0) return 0;
		}
	}
	return 1;
}
2018-12-04 17:38:32
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i,f,number;
	scanf("%d",&number);
	for(i=2;i<number;i++)
	{
		if (number%i==0)
		{
			printf("not prime");
			exit(0);
		}
		else f=1;
	}
	if (f=1) printf("prime");
}
我这样写可以吗
2018-12-02 19:49:33
这种没有一点新意的解题也能评为优质?
2018-11-15 17:40:23
我写了一个包含子函数的供大家参考,请多多指教

#include<stdio.h>

int prime(int n, int i, int c)
{
	if (n > 1 && n == (int)n)	
	{
		c = 0;
		for (i = 2; i < n; i++)
		{
			if (n % i == 0)
			{
				c += 1;
				printf("not prime");
				break;
			}
		}
		if (c == 0)
			printf("prime");
	}
	return 0;
}

int main()
{
	int n, i, c;
	scanf("%d", &n);
	return prime(n, i, c);
}



链接:http://www.dotcpp.com/blog/8936.html
2018-07-28 16:22:22
题目是说写一个函数,判断是否素数。你这个是只有一个main函数啊
2018-06-06 14:52:39
大佬,第20行为什么还要再判断i==number啊??剩下的不都是素数吗?
2018-05-31 11:17:25