2012-10-14 89 views
-3

必须编写一个函数才能返回一个从50到100的数字的平方,而不使用种子并且不带任何参数。随机数C

我知道如何生成固定范围的随机数(例如0〜99):

int n; 
    n=rand(100); /* n is random number in range of 0 - 99 */ 

编辑: 顺便说一句,我用rand()我每次运行它的时候给我同样的结果。我知道这是因为我的编译器,有没有改变它(记得不使用种子)

任何想法是非常感谢!

编辑2:好吧我想出了如何满足所有要求。谢谢你们! Massimiliano是谁给了我正确的IDEA如何做到这一点。

+3

在[0 50]范围内生成一个随机数。然后添加50.然后方。 – Massimiliano

+0

随机数如何连续,如果它们是连续的,那么它们非常容易预测,因此根本不是随机的。我会使用'lrand48()%100 + 200'来得到一个200到300之间的随机数,然后如果需要的话将其平方。 –

+1

@RonaldinhoState连续数字的正方形不能连续!使用种子来获得更好的结果。 – SparKot

回答

1

这是绝对比一个编程问题一个数学问题,但答案是这样的问题:

int n = random(51)+50; 
return n*n; 
+0

非常感谢很多人! –

1

50 to 100的范围内选择了一个随机数。然后返回它的广场。

int func(){ 
    int r = random(51); //to choose a random number from 0 to 50. 
    r = r + 50; //to scale it to fit form 50 to 100 
    return r*r; 
} 
+1

赞赏它! –

+0

顺便说一句,罗纳尔迪尼奥是我的足球偶像。 :-) – taufique