随笔分类 -  Audition

摘要:/*小提示:判断一个数是否是2的方幂 n > 0 && ((n & (n - 1)) == 0 )题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列。一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:15=1+2+3+4+515=4+5+615=7+8有些数可以写成连续N(>1)个自然数之和,比如14=2+3+4+5;有些不能,比如8.那么如何判断一个数是否可以写成连续N个自然数之和呢?一个数M若可以写成以a开头的连续n个自然数之和,则M=a+(a+1)+(a+2)+…+(a+n-1)=n*a+n*(n-1 阅读全文
posted @ 2012-08-23 21:25 加拿大小哥哥
摘要:1 /* 2 键盘输入一个高精度的正整数n(<=240位),去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。 3 编程对给定的n和s,寻找一种方案,使得剩下的数最小。 4 Simple Input 5 178543 6 4 7 Simple Output 8 13 9 */10 #include <iostream>11 #include <string>12 using namespace std;13 string s;14 int num;15 void fun()16 {17 int i,j,k,t;18 int size = s... 阅读全文
posted @ 2012-08-23 10:48 加拿大小哥哥
摘要:大家应该都听说过这个老题目:有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?这个问题的答案也堪称经典:把瓶子从 0 到 999 依次编号,然后全部转换为 10 位二进制数。让第一只老鼠喝掉所有二进制数右起第一位是 1 的瓶子,让第二只老鼠喝掉所有二进制数右起第二位是 1 的瓶子,等等。一星期后,如果第一只老鼠死了,就知道毒药瓶子的二进制编号中,右起第一位是 1 ;如果第二只老鼠没死,就知道毒药瓶子的二进制编号中,右起第二位是 0 ⋯⋯每只老鼠的死活都能确定 阅读全文
posted @ 2012-08-22 20:22 加拿大小哥哥
摘要:一.从1~100中随机抽走一个数字,剩下的99个数字被打乱顺序放到数组 a[99]。int a,k=0;srand(time(NULL));a = rand()%100+1;//随机从0~100抽取一个数int array[99] = {0};//数组保存数据for(int i = 1; i <= 100; ++i){ if(i != a) array[k++] = i;//获取剩下的99个数字}//打乱剩下99个数据for(int i = 0; i <99; ++i){ int j = rand()%99;//随机获取一个数组下标 //将i下标处的数据与j下标数据交换 i... 阅读全文
posted @ 2012-07-01 21:23 加拿大小哥哥