project euler problem 35求一个数的所有循环数都是素数的总共有多少个

2024-06-09 00:08

本文主要是介绍project euler problem 35求一个数的所有循环数都是素数的总共有多少个,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这题刚开始想到的是怎么求出这些循环数,然后求出来以后判断就容易多了。但是刚开始想的是用取模和相除的求出的循环数,但是有点麻烦,而且程序总有点问题,所以我就想了另外的一个思路。以前记得做题的时候有道题也是关于循环数的,而循环数可以先把它变成字符串,然后这个字符串再连接自己的字符串,如:15234,连接后为:1523415234,然后就可以知道这些循环数了,即第二个数为从第二位取5个数为:52341,第三个数从第三位取5个数为:23415……等等。所以我也可以把书题目中的数化为字符串,然后再连接后,求循环数就容易多了。
#include <iostream>
#include <map>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <map>
#include <set>
using namespace std;
int s[1000010]= {0},z[1000010]= {0};
int main()
{int i,j,sum=13;for(i=2; i<=1000010; i++)if(!s[i]){      for(j=2*i; j<=1000010; j+=i)   //素数打表s[j]=1;}for(i=100; i<1000000; i++)    //暴力搜索{if(s[i]||z[i]) continue;char str[50],st[50];itoa(i,st,10);   //化为字符串int l=strlen(st);strcpy(str,st);strcat(str,st);  //连接自己为一个字符串int q=0,t[50];for(j=1; j<l; j++){int a=0,k=1;for(int p=j; p<j+l; p++)a+=(str[p]-'0')*((int)pow(10.0,l-(k++)));   //用这个循环求出下一个循环数t[q++]=a;z[a]=1;    //这个数求出来后,到i的下一个循环就用不到了,所以标记一下,以节约时间if(s[a]==0) continue;   //如果是这个数是素数,则继续else break;  }if(j==l){sum+=l;cout<<i<<' ';for(int y=0;y<q;y++)cout<<t[y]<<' ';   //我主要想看这些数具体是哪些数我才输出的,如果不想看这些数,这几句都可以省了cout<<endl;}}cout<<sum<<endl;return 0;
}

这篇关于project euler problem 35求一个数的所有循环数都是素数的总共有多少个的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1043704

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for