自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 贪婪法解决大小油壶问题

//------------------------------------------------------------------------//大小油壶问题//油店招工,出题考试:仅有两个油壶,大的可装11升,小的可装7升,//现客人只要2升油,如何分装?//思路:如果到了某一步,油壶为空,可以再取油;油壶为满可以倒掉,也可以转到另一个壶中#include #include #define BIG 11   //大壶容量#define SMALL 07  //小壶容量#define RESULT 0

2010-11-10 11:19:00 1273

转载 关于圆周率计算的一些资料

以上是马青公式拉马努金的改进公式: 设f(n)=(13591409+545140134n)/640320^(3*n)*(-1)^n*(6n)!/(n!)^3/(3n)! 则1/pi=12/640320^(3/2)*(f(0)+f(1)+.......) 这个级数每增加一项能提高14位小数的精度 迭代方法: y[0]=Sqrt(2)-1 z[n]=(1-y[n-1]^4)^(1/4) y[n]=(1-z[n])/(1+z[n]) a[0]=6-4*Sqrt(2) a[n]=(1+y[n])^4*a[n-1]-

2010-11-09 09:27:00 1316

转载 各种字符编码方式详解及由来

<br />    <br />各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK)<br />  经常用到各式编码方式,但一直对各种编码懵懵懂懂的,以下是在网上看到的比较好理解的解释。<br />  很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为"字节"。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于

2010-11-09 09:15:00 595

转载 C++中的4种显示类型转换

<br />C++中的4种显示类型转换   类型转换在我们编写程序时是不可避免的,比如我们分配一个内存区域,它将要存储的对象类型对编译器是不可知的。最典型的例子就是void*指针,调用malloc时会返回一个void*,编译器并不知道void*指向的对象类型。   由此可见,类型转换时不可以或缺的!下面我们介绍C++提供的4种显示类型转换,及继承自C的类型转换方式(Type)expression。本文的主要内容如下:   写在前面   static_cast(exp)显示转换   reinterpret_c

2010-11-09 09:13:00 1212 1

转载 Converting numbers to strings and strings to numbers

<br />Converting numbers to strings and strings to numbers<br />Published by Bazzy<br />Last update on Aug 22, 2010 at 11:42am UTC <br />Converting numbers to text and vice versa is a common issue as it can be useful in many different situations and C++ do

2010-11-09 09:10:00 427

转载 6个变态的C语言Hello World程序

<br />6个变态的C语言Hello World程序<br />作者:耗子<br /><br />摘要<br />本文介绍的六个程序片段主要完成这些事情:输出Hello, World ;混乱C语言的源代码 <br /><br />原文出自:http://cocre.com/?p=914<br />下面的六个程序片段主要完成这些事情:<br />输出Hello, World <br />混乱C语言的源代码 <br />下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C++的编译器g++才能编程通

2010-11-09 09:07:00 387

转载 浮点数快速开平方

<br />//<br />// Carmack在QUAKE3中使用的计算平方根的函数<br />//<br />float __stdcall CarmSqrt(float x)<br />{ union<br /> { int intPart;<br />  float floatPart;<br /> } cv1,cv2;<br /> cv1.floatPart = x;<br /> cv2.floatPart = x;<br /> cv1.intPart = 0x1FBCF800 + (cv1.in

2010-11-09 08:37:00 2285

原创 整数快速开平方算法

<br />//平方根square root<br />unsigned int __stdcall i32_sqrt(unsigned long x) <br />{   unsigned int r, i;  // 结果、循环计数 <br />    unsigned long t, k;  // 临时变量<br />    if (x == 0 || x== 1) // 被开方数,0,1开方结果为自身<br />        return x; <br /> <br />    r = 0; <br

2010-11-09 08:35:00 8584 1

转载 计算圆周率的C++程序(30000位)

<br />//计算圆周率的C++程序(30000位)<br />#include <stdlib.h><br />#include <math.h><br />#include <memory.h><br />#define N 10000<br />//using namespace std; <br />void mult(int *a,int b,int *s)<br />{ for(int i=N,c=0; i>=0; i--)<br /> { int y=a[i]*b+c;<br />  c=y

2010-11-09 08:28:00 16581

转载 用BBP公式计算π

<br />//圆周率pi的计算(精确到小数点后1000位)<br /><br />#include<iostream.h><br />#include<math.h><br />#include<stdio.h><br />double bbp(int n,int k,int l)<br />{<br /> int i;<br /> long b=1;<br /> double c=1;<br /> if(n>k)<br /> {<br />  for(i=n-k;i!=0;i--)<br />   b=

2010-11-09 08:25:00 12197 1

转载 Jason Chen的计算圆周率的程序

<br /><br />#include <stdlib.h><br />#include <stdio.h><br />#include <string.h><br />#include <malloc.h><br />#include <math.h><br />#include <time.h><br />#include <conio.h><br />#include <io.h><br />int     *arctg5, *arctg239, *tmp;<br />int     DecLen,

2010-11-09 08:24:00 1034

转载 用马青公式计算π的c程序

<br />/*一个计算π的c程序<br />======================================<br />由于大多数计算机内置算法有一定精度限制,你想计算那么多位就会产生问题。<br />这里有一个c程序,允许计算要多少有多少。但马青公式在试图计算亿位时不理想。<br />下面就是这个程序。超过万位时此程序就不能胜任了。而Jason Chen的程序可算到10万位!<br />目前最快的方法是Chudnovsky、Ramanujan和金田康正的高斯-勒让德算法。<br />*/ <

2010-11-09 08:21:00 5721 1

原创 几个字符串操作的汇编函数

<br />//------------------------------------------------------------------------<br />#pragma once<br />namespace wch<br />{<br /> //取得字符串结束符指针<br /> __declspec(naked)<br /> char * __stdcall strend(const char *src)<br /> { __asm<br />  { mov ecx,[esp+4] //

2010-11-09 08:15:00 771

原创 关于幻方的算法

<br />//关于幻方的算法<br /> <br />const int N=18;//幻方阶数<br />int M[N][N];//数组<br />const int SUM=N*(N*N+1)/2;//每行、每列及对角线上各数的总和<br />const int WIDTH=N;//每行的宽度(非字节数,元素个数)<br />const int OFFSET=(N-1)*WIDTH;//最后一行的起始偏移(非字节数,元素个数)<br /> <br />//初始化<br />void init()<b

2010-11-09 08:06:00 1346

原创 计算24点

<br />//---------------------------------------------------------------------------<br />//24点的C++算法<br />//---------------------------------------------------------------------------<br />#include <stdio.h> <br />#include <stdlib.h><br />#include <math.h>

2010-11-09 07:58:00 1274

原创 背包问题

<br />//------------------------------------------------------------------------<br />//0/1背包问题<br />//有N件物品和一个容重为g的背包。假设第i件物品的重量是G[i],价值是V[i]。<br />//求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。<br />//解题思路<br />//这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。<br />//用子问题定义

2010-11-09 07:56:00 354

原创 数字黑洞

#include #include /* 黑洞原是天文学中的概念,表示这样一种天体:它的引力场是如此之强,就连光也不能逃脱出来。数学中借用这个词,指的是某种运算,这种运算一般限定从某些整数出发,反复迭代后结果必然落入一个点或若干点。数字黑洞运算简单,结论明了,易于理解,故人们乐于研究。但有些证明却不那么容易。   任取一个数,相继依次写下它所含的偶数的个数,奇数的个数与这两个数字的和,将得到一个正整数。对这个新的数再把它的偶数个数和奇数个数与其和拼成另外一个正整数,如此进行,最后必然停留在数123。   例

2010-10-10 14:55:00 775

原创 水仙花数求解

<br />//水仙花数求解<br />//水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。 <br />//例如三位数:153=1^3+5^3+3^3<br />//例如四位数:1634=1^4+6^4+3^4+4^4<br />#include <stdio.h><br />#define N2(x) (x)*(x)<br />#define N3(x) (x)*N2(x)<br />#define N4(x) N2(x)*N2(x)<br />#define N5(x) N3(x)

2010-10-09 14:23:00 758

原创 勾股数求解

<br />//勾股数求解<br />//勾股数是指3个正整数a,b,c,满足a^2+b^2=c^2。 <br />//例如:(3,4,5),(5,12,13)<br />//计算100以内的勾股数<br />#include <stdio.h><br />#define N2(x) (x)*(x)<br />int table[]={<br /> N2(0),N2(1),N2(2),N2(3),N2(4),N2(5),N2(6),N2(7),N2(8),N2(9),<br /> N2(10),N2(11)

2010-10-09 14:20:00 889

原创 在m个数中寻找最大的n个数

<br />//在m个数中寻找最大的n个数<br /><br />//将数组M[m]中的最大的n(n<m)个数放在数组前面<br />void search(int *M,int m,int n)<br />{ if(n>=m) return;<br /> int t=M[0];<br /> int i=0,j=m-1;<br /> while(i<j)<br /> { while(i<j && M[j]<t)<br />   --j;<br />  if(i<j)<br />   M[i++]=M[j];

2010-10-09 14:18:00 1612

原创 汉诺塔游戏

<br />//汉诺塔游戏<br />/*<br />汉诺塔问题是程序设计中的经典递归问题。<br />    在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中

2010-10-09 14:16:00 1240

原创 坐圈问题求解

//题目:有n个人坐成一个圈,从1开始数,数到3,3的人被剔除。//按着这样继续下去。直到最后留下一个人为止。//问这个人的序号是多少? #include const int n=10;//自定义nint M[n];int main(){  int i,k,t; for(i=0;i  M[i]=1;//数组初始化,全1表示有效 t=n;//t=还剩多少人 k=0;//从第几个(数组索引,从0开始)开始数 while(t>1) { for(i=1;i  { while(!M[k])//是否有效   { ++k

2010-10-08 22:41:00 349

原创 八皇后问题的解法

<br />//八皇后问题:在8×8的国际象棋棋盘上,安放8个皇后,<br />//要求没有一个皇后能够“吃掉”任何其他一个皇后,<br />//即没有两个或两个以上的皇后占据棋盘上的同一行、同一列或同一对角线。<br /><br />#include <stdio.h><br />int M[8];//依次存放八个皇后的列号,从0开始,即M[i]=j表示i行j列摆一个皇后<br />//检查第j个皇后是否符合要求<br />int check(int j)<br />{ int i;<br /> for(

2010-10-08 22:37:00 466

原创 怎样在动态链接库中输出模板函数

//怎样在动态链接库中输出模板函数?<br />//VC6.0//mydll.h<br />#ifdef MYDLL_EXPORTS<br />#define MYDLL_API __declspec(dllexport)<br />#else<br />#define MYDLL_API __declspec(dllimport)<br />#endif<br /> <br />template <class T><br />extern MYDLL_API void __stdcall swap(T &

2010-10-07 17:02:00 644

原创 编程笔记20001007

//想知道一个类实现多个接口,而这些接口中定义了相同的成员函数会发生什么情况//答案是能查询到多个接口,却只能实现同一个功能//要是查询不同接口而实现不同功能,该怎么办呢?我还没想到。#include #include using namespace std;static GUID IID_ISimpleMath;static GUID IID_IAdvancedMath;interface ISimpleMath : public IUnknown{pu

2010-10-07 13:43:00 351

原创 使VC生成最小的可执行文件

//2000-09-09 16:38:36#include "stdafx.h"#include #pragma comment(linker, "/subsystem:windows")#pragma comment(lib,"kernel32.lib")#pragma comment(lib,"user32.lib")// 作用: 指定节对齐为16字节#pragma comment(linker, "/align:16")#pragma comment(linker, "/filealign:16")/

2010-09-09 16:37:00 605

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除