欧拉工程第29题:Distinct powers
来源:互联网 发布:ppt圆环图编辑数据 编辑:程序博客网 时间:2024/05/29 09:23
题目链接:https://projecteuler.net/problem=29
a^b for 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100,能产生无重复的数据有多少个?
这个题目其实很简单的,注意一点定义成int、long都会发生越界的,Long只能存储:-2^64+1–2^64-1
所以不要用long,不然错的找不到原因。在java中Math类,可以计算指数,还是要注意这个返回的结果是double型,如果转成long,恭喜你错了。查看javaAPI中,double类型有如下截图:
用double还是能存完的。
java中Set集合不包含相同元素。有HashSet、TreeSet都可以应用保证不会有重复的数据。
package projecteuler21to30;import java.util.Date;import java.util.TreeSet;class level29{ void solve(){ int startA=2; int endA=100; int startB=2; int endB=100; int num=0; TreeSet set=new TreeSet(); for(int i=startA;i<=endA;i++){ for(int j=startB;j<=endB;++j){// long powab=(long) Math.pow(i, j);//有2的100次方,发生越界的情况,所有这样不对。 //long最长的是2的64次方-1.都是因为转成long惹的祸 double powab= Math.pow(i, j); if(set.add(powab)){//set.add(Math.pow(i, j)) num++;// System.out.print(powab+"、"); } } } System.out.println(set.size()+","+num); }}public class Problem29 { public static void main(String[] args){ Date beginTime=new Date(); new level29().solve(); //9183 Date endTime=new Date(); long Time = endTime.getTime()-beginTime.getTime(); System.out.println("Time:"+Time/1000+"秒"+Time%1000+"毫秒"); }}
0 0
- 欧拉工程第29题:Distinct powers
- 欧拉工程第30题:Digit fifth powers
- 欧拉工程第48题:Self powers
- 欧拉工程第47题:Distinct primes factors
- PE 29 Distinct powers
- Problem 29 Distinct powers (set)
- Distinct powers
- 欧拉工程第11题
- 欧拉工程第12题
- 欧拉工程第13题
- 欧拉工程第14题
- 欧拉工程第15题
- 欧拉工程第16题
- 欧拉工程第17题
- 欧拉工程第18题
- 欧拉工程第19题
- 欧拉工程第20题
- projecteuler---->problem=29----Distinct powers
- 拖拽原理-问题-解决办法
- JAVA 学习第五天(3) 访问权限
- 利用PHPexcel将excel表导入mysql数据库
- hdu 1014
- nginx.conf文件参数分析
- 欧拉工程第29题:Distinct powers
- POJ1579
- LeetCode 3 Longest Substring Without Repeating Characters
- iOS URL schemes
- 模板函数多个类型参数时候怎么调用
- heroku部署java web项目
- Linked List Cycle —— Leetcode
- android 防止对控件的重复点击和同时点击多个控件
- SDUT 2605 A^X mod P