我需要这样的清单:
[(16,2), (14,3), (15,3), (16,3), (18,3), (19,3), (12,4), (13,4), (14,4)]
Run Code Online (Sandbox Code Playgroud)
但是,要长得多。此列表中确实有一些非常大的范围模式,但也有不规则之处。因此,写下所有元组是不可行的,但是我也无法创建简单的listcomp。
我想使用:
[(16,2), (x,3) for x in range(14,19), (x,4) for x in range(12,14)]
Run Code Online (Sandbox Code Playgroud)
但是根据文档,这[x, y for ...]是不允许的,并且我的示例被解释为由2个带括号的元组组成的无括号元组,而不是后跟列表理解的元组。
有什么办法吗?
我不得不为一个课程项目写这个.编译时我没有遇到任何错误,但是当我尝试执行它时程序不会运行.
我们必须编写一个程序myRandomWalkers.java,它接受两个命令行参数N和T.在每个T独立实验中,模拟N步的随机游走并计算平方距离.输出均方距离(T平方距离的平均值).
我写了以下内容:
public class myRandomWalkers {
public static void main(String[] args) {
int n= Integer.parseInt(args[0]);
int t= Integer.parseInt(args[1]);
int x= 0; // starting x position
int y= 0; // starting y position
int sum = 0; // for calculating mean square distance
double r;
int count = 0;
while (count <= t)
{
for (int i=0; i<n; i++) {
r= Math.random();
if (r<=0.25) x++;
else if(r<=0.50) x--;
else if(r<=0.75) y++;
else if(r<=1.0) y--;
int z = ((x*x) + (y*y)); …Run Code Online (Sandbox Code Playgroud) 我试图用c ++简单地猜测我的数字游戏,但计算机需要猜测我的数字.但问题是我陷入了这种无限循环.我只是一个初学者,所以这是一个非常基本的程序.
这是我的代码:
int secretNumber = rand() %100 + 1; // random number between 1-100
int tries=0;
int input;
cout <<"typ your number\n";
cin >> input;
do
{
cout <<secretNumber <<endl;
++tries;
if (secretNumber > input)
{
cout <<"To high i guess?\n";
}
else if (secretNumber < input)
{
cout <<"To low I guess?\n";
}
else
{
cout <<"Yes, i got it in " <<tries <<" tries!";
}
}while (input != secretNumber);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 看看下面的代码来找到X ^ y.
/* Find exponent in logarithmic complexity */
int findPower(int base, exponent){
if( 1 == exponent ) return base;
return (findPower(base, exponent/2)*findPower(base, exponent-exponent/2));
}
int main(int argc, char *argv[]){
if(argc < 3) {
printf("Usage :: logpow baseNumber power\n");
return -1;
}
printf("%s ^ %s = %d\n", argv[1], argv[2], findPow( atoi(argv[1]),
atoi(argv[2])) );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
分析表明,这具有theta(log(n))的复杂性.但是我用它来测量时间,这是结果
Run 1: (calculating 1^500_million)
user-lm Programming # time ./a.out 1 500000000
1 ^ 500000000 = 1
real 0m5.009s
user 0m5.000s
sys 0m0.000s …Run Code Online (Sandbox Code Playgroud)