隔壁班的问题

今天隔壁班的同学问了我一个问题,是他们的老师出给他们的:

给定一个整数n,求出不超过sqrt(n)的最大整数。只可以使用加减运算,并且只能使用一层循环。


只要仔细想一想就能明白了,可是我的解决方法不是很漂亮。

#include <stdio.h>
int main()
{
	int s=0,n,t,i,result = 0;
	scanf("%d",&n);
	for (i=1;i<n;i++)
	{
		s += i;
		t = s + s - i;
		if (t > n) { result = i-1;break;}
	}
	printf("%d\n",result);
}

生成安全的随机数

使用Crypto API,比标准库要更随机一点

返回的可能是一个负数,这一点需要注意。

#pragma comment(lib, "crypt32.lib")
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#include <stdio.h>
#include <windows.h>
#include <wincrypt.h>

int rand_s()
{
	HCRYPTPROV   hCryptProv;
	int result;
	result = CryptAcquireContext(    
		&hCryptProv,
		NULL,
		NULL,
		PROV_RSA_FULL,
		CRYPT_VERIFYCONTEXT );
	if(!result){
		printf("CryptAcquireContext failed: %x\n",GetLastError());
		return 0;
	}
	CryptGenRandom(hCryptProv,sizeof(int),(char*)&result);
	CryptReleaseContext(hCryptProv,0);
	return result;
}

蝙蝠

今天,一只蝙蝠飞进了我的房间,飞来飞去的,很可怕。

在湖边散步的时候会碰到很多蝙蝠,并不觉得害怕,可是一旦飞进家里就怕了,这是为什么呢?

因为被吓到了,所以忘记了拍照片,抱歉。