博文
pku2505解题报告(2008-09-15 22:12:00)
摘要:// pku2505
// 题意:p的初始值为1,两人轮流对p乘以2`9中的一个数,谁先大于等于n谁就赢了
// 假设输入的数是N,如果"我方"想赢,则"我方"在赢之前必然达到这样一个数:
// N/18<=(M1)<N/9.然而,对方是不会让"我方"达到M1的情况的,所以要求对方给出的
// M2这个数应符合这样的条件:(M2)*2<N/9 &&(M2)*9>=N/18.对方是不会甘心让
// 这个数在他手中出现的,所以"我方"给出的(M3)必须让对手无论怎样都能达到M2这样的要求,
// 所以满足:(M3)*9<N/(9*2)&& M3)*2>=N/(18*9),
// 即N/(18*18)<=(M3)<N/(9*18),在此我们走完了一个来回.
// 并且,我们从M1,M3的比较中可以知道:如果"我方"首先给出了一个在N不断除18后的得到不足10的数M,
// "我方"就可以取得胜利,并且双方都很聪明,所以这样胜负就决定于N了。
// 结论:如果N不断除18后得到不足18的数M,如果1<M<=9则先手胜利,即stan wins.
// 如果9<M<=18则后手胜利.
//
// 上述分析纯属抄袭.受益良多,遂转之.
#include <iostream>
using namespace std;
int main()
{
double n;
while(cin>>n)
 ......
【原创】VC中访问ACCESS数据库(2008-07-17 01:50:00)
摘要:
VC6访问ACCESS数据库
不会用数据库,有些东西写的不好!
一、完成初始化工作
本程序完成一个简单的查询功能能,根据输入的代码,输出代码对应的信息。
首先,创建基于对话框的应用程序,导入ADO库
在stdafx.h中添加代码:
#import "C:\Program Files\Common
Files\System\ado\msado15.dll"no_namespace
rename("EOF","rsEOF")
第二步,完成的一些初始化工作,打开本地数据库
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
//
在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
//
因为它有时会经常出现一些想不到的错误。
try
{
&nbs......
练习:冒泡排序(2006-05-08 00:19:00)
摘要://
//冒泡排序
//作者:ZYQ
//vc6.0通过
//目的:算法试验
#include <iostream.h>
void bubble(int a[],int n)
{
int temp;
for(int i=n-1,change=1;i>=1&&change;--i)
{
change=0;
for(int j=0;j<i;++j)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
&nb......