Redian新闻
>
WiMAX retry with galaxy S2 (转载)
avatar
WiMAX retry with galaxy S2 (转载)# PDA - 掌中宝
m*n
1
Provide an implementation of the following interface:
public interface Powers extends Iterator
{
/* Returns the next integer a in the arithmetic sequence of integers where
* a = m^n, m > 1 n > 1, and m and n are both integers
* Thus, the first few outputs will be 4, 8, 9, 16, 25, 27, 32, 36, etc.
*/
public Long next();
/* Resets the sequence to the beginning, such that the next call to next()
* will return 4.
*/
public void reset();
}
这题目有点意思。
avatar
m*t
2
【 以下文字转载自 Prepaid 俱乐部 】
发信人: marriott (marriott), 信区: Prepaid
标 题: WiMAX retry with galaxy S2
发信站: BBS 未名空间站 (Mon Feb 18 11:13:12 2013, 美东)
把freedompop刷到galaxy s2用了几天。我们这里信号不是特别好。 如果到了没有信号
的地方再出来, 很多时候自己个就断了而且不会自己自动重新连接。 非要stop then
restart. 有什么地方可以改设置?
如果是wifi或者3g的话,回到有信号的地方自己就连上了。这个4g的信号就不行。
avatar
p*2
3
可以看每一个整数是不是另一个整数的power。不是的话就找下一个。
avatar
r*n
4
请问这个“把freedompop刷到galaxy s2”是啥意思?Galaxy S2能直接用 freedompop?
我以为必须得买wifi hotspot。

then

【在 m******t 的大作中提到】
: 【 以下文字转载自 Prepaid 俱乐部 】
: 发信人: marriott (marriott), 信区: Prepaid
: 标 题: WiMAX retry with galaxy S2
: 发信站: BBS 未名空间站 (Mon Feb 18 11:13:12 2013, 美东)
: 把freedompop刷到galaxy s2用了几天。我们这里信号不是特别好。 如果到了没有信号
: 的地方再出来, 很多时候自己个就断了而且不会自己自动重新连接。 非要stop then
: restart. 有什么地方可以改设置?
: 如果是wifi或者3g的话,回到有信号的地方自己就连上了。这个4g的信号就不行。

avatar
Z*Z
5
如果需要反复调用的话,可以开个buffer(比如大小1024),buffer里存上一个范围内
的数(比如1到1024),但后对一定范围内的M和N遍历,挑出所有符合条件的数,然后依
次返回。

【在 p*****2 的大作中提到】
: 可以看每一个整数是不是另一个整数的power。不是的话就找下一个。
avatar
m*n
6
写了一个大家指正
public static class PowerIterator implements Iterator {
long previous = 4;
private boolean isPower(long value) {
int maxb= (int)(Math.log(value)+1);
//binary search from 2 to a^b
int maxa = (int)(Math.sqrt(value)+1);
int mina = 2;
for(int i=2;i<=maxb;i++) {
int minround = mina;
int maxround = maxa;
while(minround<=maxround) {
int mid = (minround+maxround)/2;
if((int)Math.pow(mid,i)minround = mid+1;
}
else if((int)Math.pow(mid,i)==value) {
return true;
}
else {
maxround = mid -1;
}
}
}
return false;
}
public Long next() {
while(!isPower(previous)) {
previous++;
}
long val= Long.valueOf(previous);
previous++;
return val;
}
public boolean hasNext() {
return true;
}
public void remove() {
}
public void reset() {
previous = 4;
}
avatar
p*2
7

hasNext怎么总是true呢?

【在 m***n 的大作中提到】
: 写了一个大家指正
: public static class PowerIterator implements Iterator {
: long previous = 4;
: private boolean isPower(long value) {
: int maxb= (int)(Math.log(value)+1);
: //binary search from 2 to a^b
: int maxa = (int)(Math.sqrt(value)+1);
: int mina = 2;
: for(int i=2;i<=maxb;i++) {
: int minround = mina;

avatar
X*K
8
靠,想来不难,但是很容易出错啊。这个算是验证过了。
public class NextPower implements Powers {
List powerList;
long previous;
public NextPower() {
powerList = new ArrayList();
reset();
}
@Override
public Long next() {
long min = Long.MAX_VALUE;
List minList = new ArrayList();
for (int i = 0; i < powerList.size(); ++i) {
int base = i + 2;
int power = powerList.get(i) + 1;
long n = (long) Math.pow(base, power);
if (n <= min && n > previous) {
if (n < min) {
minList.clear();
}
minList.add(i);
min = n;
}
}
for (int i : minList) {
if (i == powerList.size() - 1) {
powerList.add(1);
}
powerList.set(i, powerList.get(i) + 1);
}
previous = min;
return min;
}
@Override
public void reset() {
powerList.clear();
powerList.add(1);
previous = 0;
}
@Override
public boolean hasNext() {
return true;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
}
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。