问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言求超级素数

发布网友 发布时间:2022-10-05 15:28

我来回答

3个回答

热心网友 时间:2023-10-19 12:18

给你个完整的:

#include<stdio.h>
int isprim(int n)
{
int i;
if (n<2) return 0;
for (i=2; i*i<=n; ++i)
if (n%i==0) return 0;
return 1;
}
int isssp(int n)
{
if (!isprim(n)) return 0;
while (n/10)
if (!isprim(n/=10))return 0;
return 1;
}

int main()
{
int i;
int cnt=0;
int maxp;
printf("从100-9999的超级素数有:\n");
for (i=100; i<10000; ++i)
{
if (isssp(i))
{
++cnt;
maxp=i;
printf("%8d", i);
if (cnt%5==0)
printf("\n");
}
}
printf("\n总共有:%d个\n", cnt);
printf("最大的是:%d\n", maxp);
return 0;
}

热心网友 时间:2023-10-19 12:18

#include "stdio.h"
int superprime(int n){
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argv,char *argc[]){
int n,s,t,mp;
for(mp=s=0,n=7999;n>100;n-=2)
if(superprime(t=n)){
while(t>0 && superprime(t/=10));
if(t==0){
printf("%5d",n);
if(s++==0)
mp=n;
}
}
printf("\n\nA total of %d.\nThe MAX is %d.\n",s,mp);
return 0; 
}

运行结果:

这个代码没有问题,只是时效略差点。

热心网友 时间:2023-10-19 12:19

不考虑时间的需求,就用最简单的素数判断函数了

#include <stdio.h>
#include <math.h>
#include <string.h>

bool isPrime(int n)  
{  
    for(int i = 2; i <= sqrt(n); ++i)  
    {  
        if(n%i == 0)  
            return false;  
    }  
    return true;  
}

int main()
{
    int maxprime = 0, count = 0;
    
    for(int i = 101; i < 10000; i+=2)
    {
        int  temp = i;
        bool flag = true;
        while(temp)
        {
            if(isPrime(temp))
            {
                temp /= 10;
                continue;
            }
            else
            {
                flag = false;
                break;
            }
        }
        if(flag)
        {
            count++;
            maxprime = i;
            printf("%4d ", i);
            if(count%5 == 0)
                putchar('\n');
        }
    }
    printf("\n\n超级素数个数 = %d,最大超级素数 = %4d\n", count, maxprime);
    return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么鉴别匡威真假鉴别鉴别匡威真假的方法与技巧 洛阳小碗汤怎么做 酥肉丸子汤如何烹饪简单而又不失美味? 直通车产出比多少不亏?产出比低怎么调整? 淘宝直通车投产比多少才是盈利?怎么提升? 车打不着拧钥匙没反应 车打火的钥匙拧不动 微信关闭时后台还在图标上还有个小锁什么意思 坦克世界闪击战电脑需求配置玩坦克世界电脑配置要达到什么标准_百度... 坦克世界对电脑配置要求高不高玩坦克世界电脑需要什么配置要求 坦克世界对电脑的配置要求是多少坦克世界配置要求 超级素数。一个素数依次从低位去掉一位、二位、三位……,每次 所得的数仍是素数,则该素数称为超级素数 什么是超级素数 超级素数是指一个素数依次从低位去掉一位、两位、……所得的数依然是素数。如239就是超级素数。试编写 最大的超级素数是多少位?是多少? 小金桔需要剥皮吃吗 小金桔要不要剥皮吃 王戎不取道旁李翻译 王戎不取道旁李原文 跑八百米技巧 怎么取得更好的成绩 陶瓷烫怎样才算软化到位 街霸4标题字体 求助分享字体。 麻烦大家知道这是什么字吗?篆体的 硊求图片里的字体 谁能帮我把这篇短文翻译成英文的啊?不要用工具,翻译的好,100分! 陶瓷烫怎样才表明软化到位 锅上的黑垢怎样去除 生活中有哪些东西能去污渍 王戎不取道旁李的故事 王戎不取道旁李的故事原文和译文 弄陶瓷烫的时候软化到什么程度 击沉贝尔格拉诺将军的到底是什么鱼雷? 英阿马岛之战中为什么被阿根廷视为杀手锏的贝尔格诺将军号巡洋舰会被英国轻而易举的击沉呢?! 征服者账号不记得了,怎么找回 求100~9999之内超级素数的个数及和以及最大数 极品素数(Pascal) C++求超级素数(Super prime)问题 我想知道怎样才能掌握陶瓷烫的技巧? 陶瓷烫和数码烫,SPA热能烫的温度分别为多少,软化程度有什么区别 陶瓷烫软化是湿头发好还是干头发好 有美发经验的哥哥们进 谁有这张图片的电脑桌面大图? 谁有这张图片的大图做电脑桌面用,最少1400*768 求这张图片的大图(清晰的),可以做电脑桌面的 红楼梦中形容烟花的诗句 描写夜的诗句 描写夜晚的古诗词有哪些 关于一夜的诗句(关于夜的古诗) 中秋节指什么意思 中秋节指何意思 当我遇见你就为你着迷是什么歌 当我遇见你就为你着迷歌词 什么人适合带金手链 金手链适合有哪人佩戴 砗磲手链适合什么人带 砗磲手链适合哪些人带 铜钱手链适合什么人带 铜钱手链适合哪些人带 苦也哼着歌谣是什么歌 苦也哼着歌谣的歌曲简介