[PTA C语言]判断一个整数是否为素数&判断偶数& 判断一个三位数是否为水仙花数

317 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1 判断一个整数是否为素数

本题要求编写程序,判断一个给定的整数是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

输入格式:

输入在一行中给出一个需要判断的整数 M(−231≤M≤231 −1)。

输出格式:

如果M是素数,则在一行中输出Yes,否则输出No。如果输入了非正整数,也要输出No

输入样例1:

11

输出样例1:

Yes

输入样例2:

9

输出样例2:

No

输入样例3:

-2

输出样例3:

No

我的代码

#include<stdio.h>
#include<math.h>
int main()
{
	int i,m,flag=1;
	scanf("%d",&m);
	if(m<=1) flag=0;
	for(i=2;i<=sqrt(m);i++)
	{
		if(m%i==0)
		{
			flag=0;
			break;
		}
	}
	if(flag==1)
		printf("Yes");
	else
		printf("No");
	return 0;
}

2 判断偶数

输入一个正整数a,如果a为偶数,输出yes,否则输出no。

输入格式:

直接输入一个正整数,没有其他任何附加字符。

输出格式:

直接输出yes或no,没有其他任何附加字符。

输入样例:

2

输出样例:

yes

输入样例:

1

输出样例:

no

我的代码

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	if(n%2==0)
	{
		printf("yes");
	}
	else
	{
		printf("no");
	}
	return 0; 
} 

3 判断一个三位数是否为水仙花数

本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。

输入格式:

输入在一行中给出一个需要判断的整数 N(100≤N≤999)。

输出格式:

如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。

输入样例1:

153

输出样例1:

Yes

输入样例2:

500

输出样例2:

No

输入样例3:

-2

输出样例3:

Invalid Value.

我的代码

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a,b,c;
	if(n>=100&&n<=999)
	{
		a=n/100; //百位
		b=(n%100)/10; //十位
		c=n%10;    //个位
		if(n==a*a*a+b*b*b+c*c*c) 
		{
			printf("Yes");
		}
		else
		{
			printf("No");
		}	
	}
	else
	{
		printf("Invalid Value.");
	}
	
	return 0; 
}