刚刚看到了一道题. 一把1级屠龙刀,最高可以升到9级,每次升级成功率30%,失败率70%。失败会退一级,最差退到1级。 那么在1000次内升级到9级的概率为多少? 尝试写了一个php的模拟,第一次没设定失败下限.结果很给力. 第994次升级结果:屠龙刀等级为:-358! 第995次升级结果:屠龙刀等级为:-359! 第996次升级结果:屠龙刀等级为:-358! 第997次升级结果:屠龙刀等级为:-359! 第998次升级结果:屠龙刀等级为:-360! 第999次升级结果:屠龙刀等级为:-361! 后来运气好了一次. 第342次升级结果:屠龙刀等级为:7!最高等级为7 第343次升级结果:屠龙刀等级为:8!最高等级为8 第344次升级结果:屠龙刀等级为:9!最高等级为9 坑爹九级神器! 代码如下,群里有个大大的高端代码,我也留下来。 <?php $Updateresultabby = array( array( ‘return’ => -1, ‘range’ => ’70′ ), array( ‘return’ => 1, ‘range’ => ’30′ ) ); $level =1 ; $level_max =2; for( $i = 0; $i < 2000; $i++ ){ …
阅读全文 »string number1,number2; std::cout<<tip[0]<<"\n"<<tip[1]<<std::endl; std::cin>>number1; while(!isdigit(number1)){ std::cout<<tip[5]<<std::endl; std::cin>>number1; } std::cout<<tip[2]<<std::endl 大概就是这个过程吧,会出现神马情况呢,如果cin接受的用户输入不是0~9而是其他呢. 我觉得木有亲手打过的童鞋100%说,循环判断是不是数字,不是就停下来等用户输入下一次. 那么好,扔VS里调试下吧.结果呢,无限循环吧.. 原因 是什么呢.这里很明显嘛,为什么会循环,while嘛,为什么while会死循环,!isdigit(number1)成立.. 所以呢,number1,也就是从cin传递来的用户输入有问题. 有什么问题呢. typeid(number1).name(); 后得到一个反馈..嗯.char类型.. 那么如何解决呢? 我觉得加段小函数检查就可以了.. bool IsNumber(string s){ const char *tmp = s.c_str(); for(int i =0;i<s.length();i++) { if (tmp[i]>57||tmp[i]<48) return false; } return true; }
阅读全文 »ROUND函数在很多语言中都存在,它的“bug”也威名远播… 关于它的舍入问题,很多人都总结过吧,四舍六入五成双。 文章包含代码以及一些引用资料,如果感兴趣,可以选择阅读全文。
阅读全文 »原文出处:http://www.baiba.net/blog/?action=show&id=61
这篇不收录过来实在是…对不起自己…嘿嘿~
都在Dev-C++里跑了一遍。
[c]
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int x=0,y[14],*z=&y;
*(z++)=0×48;
*(z++)=y[x++]+0x1D;
*(z++)=y[x++…
看的唯C论坛的电子书了..手痒,把10道题都练下吧。
[c]
/* 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i,j,k,t;
t=0;
printf("无重复3位数如下:
");
for(…
MFC剖析:消息机制 出处:白云黄鹤 转载的一篇老文,有的放矢的说明了MFC消息流程。
阅读全文 »


