projecteuler Problem 8 Largest product in a series
The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.
Find the thirteen adjacent digits in the 1000-digit number that have the greatest product. What is the value of this product?
譯文:
觀察著1000個數字,通過運算可得,最大的連續的四位數的乘機為5832,求出最大的連續的13位數的乘機?
=============================
第一次code:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
System.out.println(num(run()));
}
/*
* 將1000個數放到一個字符串
* 將字符串轉換成字符串數組
* 計算每連續的13位數的乘機,並放置在Arraylist數組中
*
* 注意:乘機的類型為long,如果為int的話,數據結果會超出,導致計算結果出錯
*/
public static List run()
{
String a="73167176531330624919225119674426574742355349194934"
+"96983520312774506326239578318016984801869478851843"
+"85861560789112949495459501737958331952853208805511"
+"12540698747158523863050715693290963295227443043557"
+"66896648950445244523161731856403098711121722383113"
+"62229893423380308135336276614282806444486645238749"
+"30358907296290491560440772390713810515859307960866"
+"70172427121883998797908792274921901699720888093776"
+"65727333001053367881220235421809751254540594752243"
+"52584907711670556013604839586446706324415722155397"
+"53697817977846174064955149290862569321978468622482"
+"83972241375657056057490261407972968652414535100474"
+"82166370484403199890008895243450658541227588666881"
+"16427171479924442928230863465674813919123162824586"
+"17866458359124566529476545682848912883142607690042"
+"24219022671055626321111109370544217506941658960408"
+"07198403850962455444362981230987879927244284909188"
+"84580156166097919133875499200524063689912560717606"
+"05886116467109405077541002256983155200055935729725"
+"71636269561882670428252483600823257530420752963450";
char [] b = a.toCharArray();
List<Long>list = new ArrayList<Long>();
for(int i=0;i<b.length-13;i++)
{
list.add(Long.valueOf(String.valueOf(b[i]))*Long.valueOf(String.valueOf(b[i+1]))
*Long.valueOf(String.valueOf(b[i+2]))*Long.valueOf(String.valueOf(b[i+3]))
*Long.valueOf(String.valueOf(b[i+4]))*Long.valueOf(String.valueOf(b[i+5]))
*Long.valueOf(String.valueOf(b[i+6]))*Long.valueOf(String.valueOf(b[i+7]))
*Long.valueOf(String.valueOf(b[i+8]))*Long.valueOf(String.valueOf(b[i+9]))
*Long.valueOf(String.valueOf(b[i+10]))*Long.valueOf(String.valueOf(b[i+11]))
*Long.valueOf(String.valueOf(b[i+12])));
}
return list;
}
/*
* 遍歷ArrayList數組
* 比較輸出最大值
*/
public static long num(List list)
{
long max=(Long)list.get(0);
for(int i=0;i<list.size();i++)
{
if(max < (Long)list.get(i))
{
max = (Long)list.get(i);
}
}
return max;
}
}
Answer : 23514624000
時間效率: 5 毫秒。
projecteuler Problem 8 Largest product in a series的更多相关文章
- Problem 8: Largest product in a series
先粘实现代码,以后需要再慢慢补充思路 s = ''' 73167176531330624919225119674426574742355349194934 9698352031277450632623 ...
- Largest product in a series
这个我开始理解错了,算错了. 我以为是求连续5个数的最大值,结果,是连接5个数相乘的最大值. 英语不好,容易吃亏啊. Find the greatest product of five consecu ...
- 【Project Euler 8】Largest product in a series
题目要求是: The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × ...
- Project Euler 8 Largest product in a series
题意:寻找这 1000 个数中相邻 13 个数相乘积最大的值 思路:首先想到的是暴力,但是还可以利用之前记录过的数值,什么意思呢?即在计算 2 - 14 后,再计算 3 - 15 时完全可以利用之前计 ...
- Largest product from 3 integers
https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...
- Problem 4: Largest palindrome product
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2 ...
- R语言学习——欧拉计划(11)Largest product in a grid
Problem 11 In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 0 ...
- Largest product in a grid
这个比前面的要复杂点,但找对了规律,还是可以的. 我逻辑思维不强,只好画图来数数列的下标了. 分四次计算,存入最大值. 左右一次,上下一次,左斜一次,右斜一次. In the 2020 grid be ...
- projecteuler---->problem=8----Largest product in a series
title: The four adjacent digits in the 1000-digit number that have the greatest product are 9 9 8 9 ...
随机推荐
- Caffe 源碼閱讀(三) caffe.cpp
补:主要函数运行顺序: main>>GetBrewFunction>>train>>Solve 從main函數說起: 1.gflags庫中爲main函數設置usag ...
- RBL开发笔记二
17:13:55 2014-08-25 有以下几个点: 第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了 这里就定义了一个SystemConfig.h 专门做这个事情 当然是需要make ...
- Welcome to LED Control Wiki
About this project This project was developed after I had to find out that controlling my RGB ambien ...
- PAT (Basic Level) Practise:1012. 数字分类
[题目链接] 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3- ...
- css模糊效果
CSS代码: .blur { filter: url(blur.svg#blur); /* FireFox, Chrome, Opera */ -webkit-filter: blur(10px); ...
- python ML 笔记:Kmeans
kmeans算法的python实现: 参考与样本来源<Machine Learning in Action> #-*-coding:UTF-8-*- ''' Created on 2015 ...
- macos下sed小试
linux下替换是这么干的 sed -i "s/xxxxxxxxxx/video_capture_module/g" project.pbxproj 但是macos下略有不同,照搬 ...
- ucos3的配置文件
1,配置文件,用于系统的裁剪 均有详细的注释 为组件的开关 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...
- UVa 10562看图写树(二叉树遍历)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 练习2:雨淋湿了一道题,9个数字只能看清楚4个,第一个肯定不是1 [X * (Y3 + Z)]^2 = 8MN9,求出各个数字
题目上的X代表的未知数,不一定是同一个数字. 其实这道题,直接一推敲答案就出来了,首先,积德尾数是9,说明 X*(Y3 + Z)的值尾数是3,3的因子只有1和3,所以X只有1和3候选,但是题目说第一个 ...