VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2105|回复: 11

超级素数

[复制链接]

2

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-13 21:30:01 | 显示全部楼层 |阅读模式
菜鸟,求解超级素数编程方法,哪位大虾能够帮忙啊?用C和VB的.
回复

使用道具 举报

0

主题

6

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-2-14 02:22:56 | 显示全部楼层
还是需要有位数限制的吧,采用枚举方法,比较简单直接
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-13 14:30:01 | 显示全部楼层
什么超级素数?
#include "stdio.h"
#include "conio.h"
#include "math.h"
main(){
int i,j,k,s=0,leap=1;
printf("\n");
for(i=1;i<=100;i++)
{k=sqrt(i+1);
  for(j=2;j<=k;j++)
  if(i%j==0)
  {leap=0;
   break;
  }
  if(leap)
  {printf("%-4d",i);
   s++;
   printf("\n");
  }
   leap=1;
  }
  printf("\nThe total is %d",s);
  getch();
}
回复

使用道具 举报

0

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-14 23:00:01 | 显示全部楼层
就是呀,什么是超级素数?
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-4-15 09:45:02 | 显示全部楼层
lz问题能不能说清楚点。。?
-_-
回复

使用道具 举报

0

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-5-26 23:45:01 | 显示全部楼层
#include <stdio.h>
#include <math.h>

int isPrime(int p);
int isSuperPrime(int p);

int main()
{
        int i;
        for(i=2;i<1000;i++)
                if(isSuperPrime(i))
                        printf("%d\t",i);
        return 0;
}


int isSuperPrime(int p)
{
        if(isPrime(p)&&p>10)
        {
                while(p>10)
                {
                p/=10;
                if(!(isPrime(p)))
                        return 0;
                }
                return 1;
        }
        return 0;
}

int isPrime(int p)
{
        int a,i;
        if(p<2)
                return 0;
        else if(p==2)
                return 1;
        a=(int)sqrt(p+1);
        for(i=2;i<=a;i++)
                if(!(p%i))
                        return 0;
        return 1;
}
回复

使用道具 举报

0

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-5-29 16:00:01 | 显示全部楼层
#include <stdio.h>
#include <math.h>

typedef unsigned long pr_t;

int pr_test( pr_t x )
{
        pr_t i , sqx = (pr_t)sqrt( x );
        for( i = 3; i <= sqx ; i += 2 )
                if( x % i == 0 )
                        return 0;
        return 1;
}

int slove( pr_t *p , pr_t *t , int n )
{
        int r = 0 , i , j;
        for( i = 0; i < n; ++i )
                for( j = 1 ; j <= 9; j += 2 )
                        if( pr_test( p[i]*10 + j ) )
                                t[ r++ ] = p[i]*10 + j;
        return r;
}

#define BUFF_SIZE                (200)

int main()
{
        pr_t b1[ BUFF_SIZE ] = { 2 , 3 , 5 , 7 } , b2[ BUFF_SIZE ];
        pr_t *p = b1 , *t = b2 , *tt;
        int  n = 4 , i;
        while(n)
        {
                for( i = 0; i < n; ++i )
                        printf( "%-10d" , p[i] );
                n = slove( p , t , n );
                tt = p; p = t ; t = tt;
        }
        printf( "\n\n" );
        return 0;
}
回复

使用道具 举报

0

主题

73

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-6-24 11:30:01 | 显示全部楼层
你把输出的数再检查一下,把那些含义0,1,4,6,8,9的都去掉就是了。
回复

使用道具 举报

0

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-6-24 21:30:02 | 显示全部楼层
我写的就是超级素数,lz看的不认真...
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-6-28 20:30:01 | 显示全部楼层
转字符串判断是非含有非素数元素
itoa
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表