
小程序
文章平均质量分 57
空字符(公众号:月来客栈)
Talk is cheap, show me your code.
展开
-
杭电ACM-1237-简单计算器
做这个陆陆续续也弄了好几天,一开始是使用栈在做,因为这种类型的题教材上提过(我相信一定也有不少同学一提到写一个简单的不带括号的计算器也会第一时间想到 栈吧)。不过在做的过程,弄了好久也未能用栈来实现。说实话用栈来做是有点复杂了。不说别的,光是你去定义节点和各个函数就有得你弄几分钟了。也许就这会儿功夫人家不用栈的同学已经把这个题给做出来了。但,这可能也只是我们在逃避对栈的使用吧,等有空还得用栈再实现原创 2015-04-08 15:57:20 · 2090 阅读 · 0 评论 -
利用gmp库查找完美数
完美数的定义:若一个数能写成其所有质因数之和,则称之为完美数。 如: 6 = 1 + 2 + 3 = 2 * 3 28 = 1 + 2 + 4 + 7 + 14 = 4 * 7 这些完美数都满足为两个数的乘积构成,且第二个数为质数 公式: (2^(n-1)) * (2^n -1) 即,现在我们只需从2的n次幂开始找,只要2^n - 1 为质数,就可以确定一个完美数了。一般的质数原创 2015-12-20 17:33:11 · 950 阅读 · 0 评论 -
字符串的简单加密与解密
字符串的加密与解密,加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值5。如"mrsoft",第一个字符"m"在字符串中的位置为0,那么它对应的密文是“‘m’+0+5”,即r。#include#includeint main(){ using namespace std; string s; getline(cin, s);原创 2015-04-01 23:53:16 · 1867 阅读 · 0 评论 -
输出斐波那契数前10000项
之前也写过输出斐波那契数的程序,当然也只是前几十位。所以也没注意到当输出大于47位之后 ,就发生溢出了。直到某一天,老师让我们输出47位之后的数我才发现这个问题。于是就花了一点时间写了出来。 其实这个问题归根到底就是一个大数相加的问题,当然网上也能搜到很多关于大于数加减乘除的模版。我现在就换另外一种方法来计算大数相加的问题。思路就是分别用两个字符串来保存两个数,然后对应位分别相加原创 2015-11-15 16:16:36 · 3619 阅读 · 0 评论 -
N(奇数)阶幻方解法
幻方也加魔方,通俗点就是N*N的方格中,填入1~n^2个数,使得横坚斜的和都相同。大家最熟悉的应该就是九宫格的3阶了。这儿我只和大家分享一下奇数阶的;因为奇数阶的就只有一个规律,偶数阶的稍微有点复杂(其实我只会4阶,还是从射雕英雄传里面学来的,在写这篇博客的时候我也特地去百度了一下,发现偶数阶的好像不同的阶数规律不一样,所以这儿 就只和大家说说偶数阶的了)。3阶原创 2015-04-01 20:03:27 · 3841 阅读 · 0 评论 -
猜数字游戏(Bull and Cows)
游戏规则为:参与游戏的两方,一方出数字,另一方猜数字。例如,正确答案为5346,猜数字的人若猜5238,则提示1A1B,其中有一个5位置对了记为1A,而数字3对了,而位置不对同,记为B,合起来就是1A1B。接下来,猜数者继续猜,直到出现4A0B为止。// ConsoleApplication12.cpp : 定义控制台应用程序的入口点。//#include #include //t原创 2015-04-29 19:45:39 · 1106 阅读 · 0 评论 -
杭电ACM-1406-完数
做这个题的时候,思路很清晰,基本上就是一气呵成;只是在最后输出的格式上出了点小问题!4-6-2015至于题目,大家请前往这儿(http://acm.hdu.edu.cn/showproblem.php?pid=1406)下面就是代码,若哪儿有不对或是什么建议,请各位观者不吝指出!#includeusing namespace std原创 2015-04-07 10:51:53 · 1396 阅读 · 0 评论 -
杭电ACM-1003-Max Sum
说到这个题吧,又想说那句话:难的不会,会的不难。我前前后后大概有10天的时间,只要课余有时间就想想这个题,结果还是没有想出来。结果后来请问了一个学长之后 ,才发现我离这个正确的方法就差那么一步,可也就正是那么关键的一步。总结只有一条:得像高中一样,多做题才能多长见识,才能见到更多的算法!!!! 努力!2015-04-06至于题目,大家请前往这儿(http://acm.hdu.edu.c原创 2015-04-06 11:21:24 · 793 阅读 · 0 评论 -
字符串逆序输出
字符串逆序输出的两种方法:#include #include #include #includeusing namespace std;int main(){ string a; cout getline(cin, a); reverse(a.begin(), a.end()); cout cout char b[100]; get原创 2015-04-01 21:03:23 · 747 阅读 · 0 评论 -
杭电ACM-1216-Assistance Required
今天花了大半个下午来做这个题。说难吧,还行;不难吧,也花了这么长时间。总之一句话,会的不难,难的不会;我想理工科的童鞋都知道这个道理。 至于题目,大家请前往这儿(http://acm.hdu.edu.cn/showproblem.php?pid=1216)。整个题目用链表是最好理解的,当然其他方法也行。下面就是代码,若哪儿有不对,请各位不吝指出!#include#原创 2015-04-02 22:16:28 · 1086 阅读 · 0 评论 -
输入一个数计算其二进制中连续1的个数
输入一个数,计算其对应二进制中,连续1的最长的个数 如: 9 = 1001 15 = 1111 其最长连续1的个数分别为1和4 代码:// example:// input 31// output 5//#include<iostream>#include"gmp.h"using namespace std;原创 2015-12-20 19:00:14 · 1650 阅读 · 0 评论