1/13组素数~

如题:

素数就是不能再进行等分的数。比如:2 3 5 7 11 等。
9 = 3 * 3 说明它可以3等分,因而不是素数。
我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?
比如:1949,4919 都符合要求。

(ps:又是直接裂开的一天,一个小bug让我做到怀疑人生)

代码如下,应该我这种方法是比较省脑子的

#include <stdio.h>
int main()
{
    
    
	int n = 0;
	int i;
	int a,b,c,d,t;//四位数的每个位
	int x;
	int y;
	for(i = 1498;i<9942;i++)
	{
    
    
		x = 1;
		y = 0;
		for(a = 2;a<i;a++)
		{
    
    
			if(i%a==0)
			{
    
    
				x=0;
				break;
			}
		}
		if(x==1)
		{
    
    
			a = i%10;
			d = i/10%10;
			c = i/100%10;
			b = i/1000%10;
			if(a<b) {
    
    t = a;a = b;b = t;}
			if(a<c) {
    
    t = a;a = c;c = t;}
			if(a<d) {
    
    t = a;a = d;d = t;}
			if(b<c) {
    
    t = b;b = c;c = t;}
			if(b<d) {
    
    t = b;b = d;d = t;}
			if(c<d) {
    
    t = c;c = d;d = t;}
			if(a==9&&b==9&&c==4&&d==1)
			{
    
    
				y = 1;
				printf("%d\n",i);
			}
			if(y==1)
			{
    
    
				n++;
			}
		}
	}
	printf("%d",n);
}

运行结果如下在这里插入图片描述
为了找这个在这里插入图片描述
小错误,我直接暴毙。

加油·~·
争取以后少出错

猜你喜欢

转载自blog.csdn.net/FG_future/article/details/112588994