- 浏览: 81708 次
- 性别:
- 来自: 江苏
最新评论
-
kissyssong:
kissyssong 写道先顶再看!除法是Division吧, ...
杰哥私房题──大数相除 -
kissyssong:
先顶再看!除法是Division吧,怎么搞了个减法啊
杰哥私房题──大数相除 -
kissyssong:
这个比我自己写的好理解啊,顶
杰哥私房题──大数相乘 -
sesame:
兄弟真的很会折腾,不错! 刚好也用到windows连接ubun ...
Ubuntu与Windows 之间的远程桌面连接 -
soft901:
用递归写了个
private void josephu ...
杰哥私房题──约瑟夫问题
文章列表
mutable关键字
关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化!
如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数据成员进行赋值.这个时候就需要用到mutable关键字了
例如:
class Demo
{
public:
Demo(){}
~Demo(){}
public: ...
class COREDLL Fresnel {
public:
// Fresnel Interface
virtual ~Fresnel();
virtual Spectrum Evaluate(float cosi) const = 0;
};
是这样的,这是一个Dll工程,对于dll本身工程来说,他需要导出数据,工程默认下定义了CORE_SOURCE(依次打开“工程-》属性-》配置属性-》C++-》预处理”,可以看到,我用的英文版,翻译可能有出入) 这个时候:
#ifdef WIN32
#ifdef CORE_SOURCE//由于定义了 ...
版本1.03,在http://www.pbrt.org/downloads.php下载,目前是最新的,使用起来遇到了如下问题,可能以后还会更多。
1. 编译flex,bison脚本。这一步的确很烦,很多人都是卡在这一步就过不去了。这里详细解释一下。readme和很多教程上讲在windows下编译pbrt第一步要装cygwin。实际上只用到了flex和bison两个程序,这两个程序原本是linux下的程序,cygwin将他们移植到windows平台。这两个程序是生成处理pbrt脚本的代码。pbrt规定了自己的场景描述规则(虽然很像renderman的rib文件,但有的地方还是不同)。 ...
问题描述
形如2p-1 的素数称为麦森数,这时P 一定也是个素数。但反过来不一定,即如果P 是
个素数。2p-1 不一定也是素数。到1998 年底,人们已找到了37 个麦森数。最大的一个是
P=3021377,它有909526 位。麦森数有许多重要应用,它与完全数密切相关。
你的任务:输入P (1000<P<3100000) , 计算2p-1 的位数和最后500 位数字(用十进制高
精度数表示)
输入数据
只包含一个整数P(1000<P<3100000)
输出要求
第1 行:十进制高精度数2p-1 的位数。 第2-11 行:十进制高精度数2p-1 的最后500
位数字。( ...
- 2009-03-17 18:47
- 浏览 2268
- 评论(3)
问题描述
求两个大的正整数相除的商
输入数据
第1 行是测试数据的组数n,每组测试数据占2 行,第1 行是被除数,第2 行是除数。
每组测试数据之间有一个空行,每行数据不超过100 个字符
输出要求
n 行,每组测试数据有一行输出是相应的整数商
输入样例
3
2405337312963373359009260457742057439230496493930355595797660791082739646
2987192585318701752584429931160870372907079248971095012509790550883793197894
10000000000000000000 ...
问题描述
求两个不超过200 位的非负整数的积。
输入数据
有两行,每行是一个不超过200 位的非负整数,没有多余的前导0。
输出要求
一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能
输出为0342。
输入样例
12345678900
98765432100
输出样例
1219326311126352690000
#include <stdio.h>
#include <string.h>
int main(){
char cNum1[210], cNum2[210];
scanf("%s", cNum1);
...
问题描述
求两个不超过200 位的非负整数的和。
输入数据
有两行,每行是一个不超过200 位的非负整数,没有多余的前导0。
输出要求
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能
输出为0342。
输入样例
22222222222222222222
33333333333333333333
输出样例
Output Sample:
55555555555555555555
#include <stdio.h>
#include <string.h>
int main(){
char cNum1[201];
char cNum2[ ...
问题:
大家知道,给出正整数n,则1 到n 这n 个数可以构成n!种排列,把这些排列按照从
小到大的顺序(字典顺序)列出,如n=3 时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1
六个排列。
给出某个排列,求出这个排列的下k 个排列,如果遇到最后一个排列,则下1 排列为第
1 个排列,即排列1 2 3…n。
比如:n = 3,k=2 给出排列2 3 1,则它的下1 个排列为3 1 2,下2 个排列为3 2 1,因
此答案为3 2 1。
输入数据
第一行是一个正整数m,表示测试数据的个数,下面是m 组测试数据,每组测试数据
第一行是2 个正整数n( 1 <= ...
问题描述你的一个朋友买了一台电脑。他以前只用过计算器,因为电脑的显示器上显示的数字的样子和计算器是不一样,所以当他使用电脑的时候会比较郁闷。为了帮助他,你决定写一个程序把在电脑上的数字显示得像计算器上一样。输入数据输入包括若干行,每行表示一个要显示的数。每行有两个整数s 和n (1 <= s <= 10, 0 <=n <= 99999999),这里n 是要显示的数,s 是要显示的数的尺寸。如果某行输入包括两个0,表示输入结束。这行不需要处理。输出要求显示的方式是:用 s 个'-'表示一个水平线段,用s 个'|'表示一个垂直线段。这种情况下,每一个数字需要占用s+2 列和2 ...
问题描述
鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现
路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。
鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一
块花生田,花生植株整齐地排列成矩形网格(如图1)。有经验的多多一眼就能看出,每棵
花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植
株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,
不过你一定要在我限定的时间内回到路边。”
我们假定多多在每个单位时间内,可以做下列四件事情中的一件:
...
问题描述
约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号
开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1 开始报数。就这样,
直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编
号。
输入数据
每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m, n < 300)。最后一行
是:
0 0
输出要求
对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号
输入样例:
6 2
12 4
8 3
0 0
输出样例:
5
1
7
#include <stdio.h>
...
问题描述
直到19 世纪,时间校准是一个纯粹的地方现象。每一个村庄当太阳升到最高点的
时候把他们的时钟调到中午12 点。一个钟表制造商人家或者村里主表的时间被认为是
官方时间,市民们把自家的钟表和这个时间对齐。每 ...
杰哥私房题──玛雅历
- 博客分类:
- 杰哥私房题(C版)
问题描述
上周末,M.A 教授对古老的玛雅有了一个重大发现。从一个古老的节绳(玛雅人用
于记事的工具)中,教授发现玛雅人使用了一个一年有365 的叫做Haab 的日历。这个
Haab 日历拥有19 个月,在开始的18 个月,一个月有20 天 ...
杰哥私房题──日历问题
- 博客分类:
- 杰哥私房题(C版)
问题描述
在我们现在使用的日历中, 闰年被定义为能被4 整除的年份,但是能被100 整除而
不能被400 整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰
年,而 1600, 2000 和 2400 是闰年。 给定从公元2000 年1 月1 日开始逝去的天数,你
的任务是给出这一天是哪年哪月哪日星期几。
输入数据
输入包含若干行,每行包含一个正整数,表示从2000 年1 月1 日开始逝去的天数。
输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。
输出要求
对每个测试样例,输出一行,该行包含对应的日期和星期几。格式为“YYYY-MM-D ...
问题描述
一种细菌的繁殖速度是每天成倍增长。例如:第一天有10 个,第二天就变成20 个,
第三天变成40 个,第四天变成80 个,……。现在给出第一天的日期和细菌数目,要你
写程序求出到某一天的时候,细菌的数目。
输入数据
第一行有一个整数n,表示测试数据的数目。其后n 行每行有5 个整数,整数之间
用一个空格隔开。第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数
表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一
天的日期。已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第
一天之后。数据保证要求的一天的细菌数目在整数范围内。
输出要求
...