Project Euler 26 Reciprocal cycles
2024-08-24 15:30:57
题意:求1到n中所有数的倒数中循环小数循环体最长的数
解法:如果一个数的质因子只有2和5,那么这个数的倒数一定不是一个循环小数。如果一个数含有质因子2或5,那么它的循环体和去掉质因子2和5之后的数的循环体是一样长的,如3和6。对于一个质因子没有2和5的数,能被几个9组成的数整除它的循环体就有多长,如1 / 7 = 0.(142857),999999 / 7 = 142857。
对于这个例子我做了简单的证明:
因为1 / 7 = 0.(142857),所以1000000 / 7 = 142857.(142857) = 142857 + 0.(142857) = 142857 + 1 / 7
所以999999 / 7 = 142857
代码:
循环体比较长……用了Java大数
package pe0026; import java.math.*; public class main
{
public static void main(String[] args)
{
int maxn = 0, pos = 0;
for(int i = 2; i <= 1000; i++)
{
if(i % 2 == 0 || i % 5 == 0)
continue;
BigInteger x = BigInteger.ZERO;
int cnt = 1;
while(true)
{
x = x.multiply(BigInteger.valueOf(10)).add(BigInteger.valueOf(9));
cnt++;
if(x.mod(BigInteger.valueOf(i)) == BigInteger.ZERO)
{
if(maxn < cnt)
{
maxn = cnt;
pos = i;
}
break;
}
}
}
System.out.println(pos);
}
}
最新文章
- JavaWeb 命名规则
- css中import与link用法区别
- ODAC (V9.5.15) 学习笔记(二十一)数据复制
- C# 读取Excel
- html 中添加背景音乐
- hdu 1754 单点更新
- Nodejs实现代理服务器配置
- [POJ 1742] Coins 【DP】
- MYSQL truncate table
- 读TIJ -2 一切都是对象
- 【数论&#183;错位排列】bzoj4517 排列计数
- RHEL6从源码安装python及其他软件包
- CSL的字符串
- ASP.NET Core如何设置请求超时时间
- Thinkphp 框架
- 微信小程序开发--宽为百分百,页面仍可左右滑动
- k8s源码分析之kubelet
- MongoDB阅读精要
- JvisualVM的使用【转载】
- java注解类定时器
热门文章
- 3DSoftRenderer
- 【dapper】.net平台下的框架
- POJ 2411 压缩状态DP
- OC 数据类型之间的转换方法
- (转)为什么adrl r2,mem_cfg_val这里不用ldr r2,=mem_cfg_val
- SwfUpload vs里运行可以上传文件,放到iis上上传就报404错误。
- Jplayer(转)
- [转载]介绍一个JSONP 跨域访问代理API-yahooapis
- SGU 186
- eclipse颜色配置