Coding Change World

代码改变世界

2013年12月17日

PKU 1005

摘要: 比较简单吧,其实算是数学问题了// 1005.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"#include "iostream"using namespace std;#define pi 3.1415926int main(int argc, char* argv[]){ int n=0; cin>>n; int year=0; int i=0; int *res =new int[n]; while (i>a>>b; doubl 阅读全文

posted @ 2013-12-17 14:10 alphaxz 阅读(201) 评论(0) 推荐(0) 编辑
PKU1004

摘要: 求平均数,就是要注意浮点数精度保持,由于浮点数在计算机内部的表示不同,会导致精度不好,这里由于输入的限制,计算的时候采用了整数,防止精度丢失// 1004.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdio.h"int main(int argc, char* argv[]){ float f=0; int total=0; int count=1; while (count<=12) { scanf("%f",&f); f=f*100.00; total+= 阅读全文

posted @ 2013-12-17 12:56 alphaxz 阅读(156) 评论(0) 推荐(0) 编辑
PKU 1003解题

摘要: 首先庆祝一下,今天连A了3题。感觉后面这题太简单了。。由于英文不好 ,找了个翻译: 若将一叠卡片放在一张桌子的边缘,你能放多远?如果你有一张卡片,你最远能达到卡片长度的一半。(我们假定卡片都正放在桌子上。)如果你有两张卡片,你能使最上的一张卡片覆盖下面那张的1/2,底下的那张可以伸出桌面1/3的长度,即最远能达到 1/2 + 1/3 = 5/6 的卡片长度。一般地,如果你有n张卡片,你可以伸出 1/2 + 1/3 + 1/4 + ... + 1/(n + 1) 的卡片长度,也就是最上的一张卡片覆盖第二张1/2,第二张超出第三张1/3,第三张超出第四张1/4,依此类推,最底的一张卡片超出桌面1. 阅读全文

posted @ 2013-12-17 11:48 alphaxz 阅读(232) 评论(0) 推荐(0) 编辑
PKU 1001解题代码

摘要: 本来以前也写过,但是由于许多细节问题,没有AC,今天修改了一下,终于AC了,以前没有AC的具体原因总结了了一下,必须任何数的0次方都等于1没有考虑,还有就是首0和末尾0以及小数点没有处理好,下面贴代码,应该还可以优化一下, 比如乘数和被乘数如果是0,可以忽略,求指数也可以采用分治法,以后再有时间了补充吧// bigMulMul.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;string bigAdd(string a,string b){ int lena=a.l 阅读全文

posted @ 2013-12-17 11:09 alphaxz 阅读(311) 评论(0) 推荐(0) 编辑
PKU 1002解题总结

摘要: 闲来无事,研究了一下PKU1002的题目,大意就是把含有字母的电话号码,转换为数字,然后再计算每个电话号码出现的次数,输出。本来蛮简单的一道题,结果折腾了好久,主要也是自己的水平太菜了,先是直接用字符串来处理,结果也都对,但是提交就是出现runtime error,后来才发现,要输入10W个电话号码,字符串光分配空间估计都够呛呀,也是自己审题不清,后来仔细阅读了了一下题目,也怪自己英文太挫了,在网上借鉴了一下思路,因为题目限制最大7位完全可以用整数来存储,然后保存之后,考虑要计算重复次数,结果楼主想出了特NC的一个算法,就是再开辟一个10W的整形数组,然后,对第一个冒泡进行排序,把出现次数.. 阅读全文

posted @ 2013-12-17 09:33 alphaxz 阅读(349) 评论(0) 推荐(0) 编辑