包含httprandom.org的词条

http://www.itjxue.com  2023-02-15 16:01  来源:未知  点击次数: 

求一个c程序 随机数的问题

可以啊!

#includetime.h

#includestdio.h

#includestdlib.h

main()

{

int min,max,a;

srand(time(0));

for(int i=0;i100;i++)

{a=rand();

if(aminamax)break;

}

printf("%d\n",a);

}

给手机号发送验证码

建一个utlls

package com.itjh.util;

import org.apache.commons.httpclient.Header;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.PostMethod;

import java.util.Random;

public class SendMessageUtil {

private static final StringSMS_Url ="";

/**

? ? * @param Uid SMS用户id? : lvfang123

? ? * @param Key 接口秘钥:SMS登录可查(非登录密码)

? ? * @param sendPhoneNum 短信发送目标号码

? ? * @param desc 短信内容

? ? * @return Integer(1:成功码,其他失败,具体参见注释)

*/

? ? public static Integersend(String Uid,String Key,String sendPhoneNum,String desc){

HttpClient client =new HttpClient();

PostMethod post =new PostMethod(SMS_Url);

post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码

? ? ? ? //设置参数

? ? ? ? NameValuePair[]data = {

new NameValuePair("Uid", Uid),

new NameValuePair("Key", Key),//秘钥

? ? ? ? ? ? ? ? new NameValuePair("smsMob", sendPhoneNum),

new NameValuePair("smsText", desc)

};

post.setRequestBody(data);

try {

client.executeMethod(post);

}catch (Exception e) {? e.printStackTrace();? }

Header[]headers =post.getResponseHeaders();

int statusCode =post.getStatusCode();

System.out.println("statusCode:" +statusCode);

for (Header h :headers) {

System.out.println(h.toString());

}

String result ="";

try {

result =new String(post.getResponseBodyAsString().getBytes("gbk"));

}catch (Exception e) {? e.printStackTrace();? }

post.releaseConnection();

return Integer.parseInt(result);

}

/**

? ? *? -1? 没有该用户账户

? ? -2 接口密钥不正确 [查看密钥]不是账户登陆密码

? ? -21? ? MD5接口密钥加密不正确

? ? -3 短信数量不足

? ? -11? ? 该用户被禁用

? ? -14? ? 短信内容出现非法字符

? ? -4 手机号格式不正确

? ? -41? ? 手机号码为空

? ? -42? ? 短信内容为空

? ? -51? ? 短信签名格式不正确接口签名格式为:【签名内容】

? ? -6 IP限制

? ? 大于0? ? 短信发送数量

以上作为补充

? ? */

? ? public static StringgetMessage(Integer code){

Stringmessage;

if(code 0 ) {

message ="SMS-f发送成功!短信量还有" + code +"条";

}else if(code == -1){

message ="SMS-没有该用户账户";

}else if(code == -2){

message ="SMS-接口密钥不正确";

}else if(code == -21){

message ="SMS-MD5接口密钥加密不正确";

}else if(code == -3){

message ="SMS-短信数量不足";

}else if(code == -11){

message ="SMS-该用户被禁用";

}else if(code == -14){

message ="SMS-短信内容出现非法字符";

}else if(code == -4){

message ="SMS-手机号格式不正确";

}else if(code == -41){

message ="SMS-手机号码为空";

}else if(code == -42){

message ="SMS-短信内容为空";

}else if(code == -51){

message ="SMS-短信签名格式不正确接口签名格式为:【签名内容】";

}else if(code == -6){

message ="SMS-IP限制";

}else{

message ="其他错误";

}

return message;

}

/**

? ? * 随机生成6位验证码

? ? * @return

*/

? ? public static StringgetRandomCode(Integer code){

Randomrandom =new Random();

StringBufferresult=new StringBuffer();

for (int i=0;i

result.append(random.nextInt(10));

}

return result.toString();

}

public static StringgetRandomCode(){

Randomrandom =new Random();

String result="";

for (int i=0;i6;i++){

result+=random.nextInt(10);

}

return result;

}

public void testSendMessage(){

//? ? ? ? SendMessageUtil.send("SMS账户","接口秘钥","目标号码","发送内容");

//第一个名称,密钥,手机号

? ? ? ? SendMessageUtil.send("jimingyu","d41d8cd98f00b204e980","15226921418","验证码:"+getRandomCode(6));

IntegerresultCode =1;

System.out.println(SendMessageUtil.getMessage(resultCode));

}

}

配置文件pom.xml

commons-logging

commons-logging

1.1.1

commons-codec

commons-codec

1.4

commons-httpclient

commons-httpclient

3.0.1

获取发送短信密钥网址

C++math库里有生成高斯分布随机数的函数么?

VC2008 FeturePack1 以后有,参见

对于可以解析表达成C++的特殊概率分布,根据概率论的原理,产生均匀分布的随机分布,而后代入分布函数就可以产生高斯分布的随机数了阿.下面原版转载:

At the core of any pseudorandom number generation software is a routine for generating uniformly distributed random integers.

In C++ TR1 you have your choice of several core generators that it calls “engines.” The following four engine classes are supported in the Visual Studio 2008 feature pack

(微软已经发布了Visual Studio 2008的Services Pack 1,它包含了此前发布的feature pack,以及完整的TR1支持,后来又发布了一个修正:VC 2008 SP1: Problems with STL/TR1 after installing VS2008 SP1,关于:VC9 SP1 Hotfix For The vectorfunctionFT Crash,关于文档:微软TR1文档).

linear_congruential uses a recurrence of the form x(i) = (A * x(i-1) + C) mod M

mersenne_twister implements the famous Mersenne Twister algorithm

subtract_with_carry uses a recurrence of the form x(i) = (x(i - R) - x(i - S) - cy(i - 1)) mod M in integer arithmetic

subract_with_carry_01 uses a recurrence of the form x(i) = (x(i - R) - x(i - S) - cy(i - 1)) mod 1 in floating point arithmetic

Each engine has a seed() method that accepts an unsigned long argument to specify the random number generation seed. It is also possible to set the seed in more detail using template parameters unique to each engine.

微软的C++ TR1可以生成以下分布的随机数:

Generates a Bernoulli distribution.

Generates a binomial distribution.

Generates an exponential distribution.

Generates a gamma distribution.

Generates a geometric distribution.

Generates a normal distribution.

Generates a Poisson distribution.

Generates a uniform integer distribution.

Generates a uniform floating-point distribution.

试验一:在VS2008中先建一空的VC++项目文件,然后添加新建项cpp文件如下:

#include random

#include iostream

void main(){

std::tr1::mt19937 eng; // a core engine class:Mersenne Twister generator

std::tr1::normal_distributiondouble dist;

std::tr1::uniform_intint unif(1, 52);

for (int i = 0; i 10; ++i) //产生正态分布的10个随机数

std::cout dist(eng)std::endl;

for(int i = 0; i 5; ++i) //产生均匀分布的在1到52之间的五个整数随机数

std::cout unif(eng) std::endl;

}

在循环中,每循环一次,就调用mt19937 eng一次,产生一个随机数输出。

试验二:关于种子seed

#include random

#include iostream

#include time.h

void main(){

std::tr1::mt19937 eng; // a core engine class:Mersenne Twister generator

std::tr1::normal_distributiondouble dist;

std::tr1::uniform_intint unif(1, 52);

eng.seed((unsigned int)time(NULL)); // reseed base engine 设置种子用#include time.h, 不能用#include time

for (int i = 0; i 10; ++i) //产生正态分布的10个随机数

std::cout dist(eng)std::endl;

//eng.seed(); // reseed base engine

for(int i = 0; i 5; ++i) //产生均匀分布的在1到52之间的五个整数随机数

std::cout unif(eng) std::endl;

}

试验三:随机数写入文件

#include random

#include iostream

#include fstream

#include time.h

using namespace std;

using namespace std::tr1;

void main()

{

mt19937 eng; // a core engine class:Mersenne Twister generator

normal_distributiondouble dist;

uniform_intint unif(1, 52);

eng.seed((unsigned int)time(NULL)); // 设置种子用#include time.h, 不能用#include time

for (int i = 0; i 10; ++i) //产生正态分布的10个随机数

cout dist(eng)endl;

ofstream fileout("fileout.dat");

for(int i = 0; i 5; ++i) //产生均匀分布的在1到52之间的五个整数随机数

fileout unif(eng) endl;

fileout.close();

}

试验四:第三方"Mersenne Twister"随机数生成程序使用试验(程序来源:Agner Fog )

// 使用说明:从网站下载压缩包,

// 展开后,将其中的randomc.h头文件及mersenne.cpp文件Copy到项目文件夹,

// 并将它们加入到项目中,其中包括"Mersenne Twister"的实现

#include iostream

#include time.h

#include "randomc.h" // define classes for random number generators

using namespace std;

void main()

{

int seed = (int)time(0); // random seed

// choose one of the random number generators:

CRandomMersenne RanGen(seed); // make instance of random number generator

cout"\n\nRandom integers in interval from 0 to 99:\n";

for (int i = 0; i 40; i++) {

int ir = RanGen.IRandom(0,99);

coutir" ";

}

cout endl;

cout"\n\n\n\nRandom floating point numbers in interval from 0 to 1:\n";

for (int i = 0; i 40; i++) {

float fr = RanGen.Random();

coutfr" ";

}

cout endl;

}

试验五:第三方"Mother-Of-All"随机数生成程序使用试验(程序来源:Agner Fog )

// 使用说明:从网站下载压缩包,

// 展开后,将其中的randomc.h头文件及mother.cpp文件Copy到项目文件夹,

// 并将它们加入到项目中,其中包括"Mother-Of-All" generator invented by George Marsaglia 的实现

#include iostream

#include time.h

#include "randomc.h" // define classes for random number generators

using namespace std;

void main()

{

int seed = (int)time(0); // random seed

// choose one of the random number generators:

CRandomMother RanGen(seed); // make instance of random number generator

cout"\n\nRandom integers in interval from 0 to 99:\n";

for (int i = 0; i 40; i++) {

int ir = RanGen.IRandom(0,99);

coutir" ";

}

cout endl;

cout"\n\n\n\nRandom floating point numbers in interval from 0 to 1:\n";

for (int i = 0; i 40; i++) {

float fr = RanGen.Random();

coutfr" ";

}

cout endl;

}

试验六:第三方"SFMT"随机数生成程序使用试验(程序来源:Agner Fog )

重要提示:在编译前,可以修改头文件sfmt.h中的#define MEXP以及下面相应的宏代码:Choose one of the possible Mersenne exponents. Higher values give longer cycle length and use more memory。SFMT利用了SSE2指令,速度最快,但只适合intel系列的部分芯片。

// 使用说明:从网站下载压缩包,

// 展开后,将其中的头文件及sfmt.cpp文件Copy到项目文件夹,

// 并将它们加入到项目中,其中包括"SFMT" 的实现

#include iostream

#include time.h

#include "sfmt.h" // define classes for random number generators

using namespace std;

void main()

{

int seed = (int)time(0); // random seed

// choose one of the random number generators:

CRandomSFMT1 RanGen(seed); //注意可以是CRandomSFMT,是CRandomSFMT0,或CRandomSFMT1

cout"\n\nRandom integers in interval from 0 to 99:\n";

for (int i = 0; i 40; i++) {

int ir = RanGen.IRandomX(0,99);

coutir" ";

}

cout endl;

cout"\n\n\n\nRandom floating point numbers in interval from 0 to 1:\n";

for (int i = 0; i 40; i++) {

float fr = RanGen.Random();

coutfr" ";

}

cout endl;

}

jsp页面,验证码的错误,紧急。帮助啊。[

看看 你的代码里有没有循环 是不是 把response.getOutputStream写在循环里面了。不行的话 把代码贴出来看下。顺便 贴下一个例子:

public class ValidationCodeServlet extends HttpServlet {

private static final long serialVersionUID = 437690730510349077L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String str = "";

int intCount = 0;

intCount = (new Random()).nextInt(9999);

if (intCount 1000)

intCount += 1000;

str = intCount + "";

HttpSession session = request.getSession();

session.setAttribute(Constant.SK_VALIDATIONCODE, str);

response.setContentType("image/gif");

ServletOutputStream servletOutputStream = response.getOutputStream();

BufferedImage image = new BufferedImage(37, 22, BufferedImage.TYPE_INT_RGB);

Graphics g = image.getGraphics();

g.setColor(Color.yellow);

g.fillRect(1, 1, 37, 22);

g.setColor(Color.black);

g.setFont(new Font("锟斤拷锟斤拷", Font.ROMAN_BASELINE, 18));

char c;

for (int i = 0; i 4; i++) {

c = str.charAt(i);

g.drawString(c + "", i * 7 + 4, 18);

}

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(servletOutputStream);

encoder.encode(image);

servletOutputStream.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

js问题 中input的value为变量

Math.random()

这样写就可以了

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

title无标题文档/title

script type="text/javascript"

/script

/head

body

form

input type="button" value="显示计时的文本" onClick="timedText()"

input type='text' name='abc' id="text"

/form

p点击上面的按钮。/p

script

function timedText(){

var val = Math.random()

document.getElementById('text').value = val;

}

/script

/body

/html

(责任编辑:IT教学网)

更多

推荐微信营销文章