1002 写出这个数
采用字符串输入数据,再对每位减去字符‘0’,得到该位相应的整数
int len=s.length();//字符串的长度 int t=0; for(int i=0;i<len;i++)//每位减去‘0’,逐位相加 { t=t+s[i]-‘0‘; }
根据题意,所得数应小于1000,获取每位的数字采用整除取余的方法
==================================
1003 我要通过
这道题好坑爹,自己没有做出来,看了网上的程序。根据题意,字符串中有且必须有至少PAT各一个,P和T只能出现一次。aPbTc成立,则aPbATca成立,这里最坑爹,一直理解错误,实际这里的意思是,a,b,c只能是A,a与c中A的数目相同。而且对aPbATc(这里包括了前面说的aPbTc形式),记a,b,c中A的次数分别为t1,t2,t3,则应满足t3=t2*t1。
参考的程序采用了string类的find_first_not_of();函数记录位置。最后判断是否满足上述关系。
===================================
1004 成绩排名
采用了动态数组。判断成绩项的大小,最后输出即可。
=======================================
1005 继续3n+1猜想
思路:利用一个缓存容器存放每个元素计算kalatz数列的结果,并与输入数列全部元素比较,如果有重合的则置零。比较过程中,遇到0不比较。比较结束后,将输入数列中的0元素删除得到“关键”元素,最后排序并输出。p.s. 其实感觉这种方法挺复杂的,不怎么好,智商捉急啊。
实现涉及到容器的删除:
ptr=v.erase(ptr);
=========================================
1007 素数对猜想
这个题目首先得得到素数,关于素数的求法网上有总结,利用素数的特征可以简化求取的过程。
chara1.只能被自己和1整除(1不是素数)
chara2.所有的偶数都不是素数(显然的,但是这条性质理解容易,编程的时候想到不易,且编且珍惜~~~~)
chara3.对数n,只需验证数sqrt(n)之前的素数是否能够整除即可
简化的方法有两种,一种是分10,100,10000,这样的区间去求,这种方法应该是所有方法中在数字比较大的时候最高效的,因为每次需要验证的数都少了很多。另外一种“筛法”,这种方法好理解,但是经验证在数据超过10000的时候就变得很慢,速度不及前一种方法。
至于满足题给条件的素数对,只需逐一验证即可。
==========================================
1008 数组循环右移
简单,先给出了数组的长度n和右移的位数m,只需要先从输入中获取n-m位数据A,再获取m位数据B,再把两组数据接起来就行了BA。
=====================================
1009 说反话
思路也简单,只需要以单词为单元,把单词倒序输出。实现上需要前后空格的位置,采用同1003的方法,把单词逐个压入栈中,最后输出即可(用top函数)。
p.s. 一开始把题目看错了,以为是把每个单词中的字母顺序反过来,费了大半天功夫实现发现不和题意。可见认真审题的重要性啊!
======================================
1010 一元多项式求导
这里需要判断回车,之前采用string类先整体输入,再删除空格,然后转化为数字的方法,但是实现起来相当麻烦。网上搜了半天找到了如下的办法:
vector<int> v; vector<int>::iterator ptr; char c; int temp; while((c=cin.get())!=‘\n‘)//判断输入是否为回车 { cin.unget();//若不是则将字符放回流中 cin>>temp; v.push_back(temp); }
另外,还需要考虑最后把常数项求导结果删除,采用-1作为特征数,把-1和前面的0删除。还需注意幂为负数的情况。
======================================
1011 A+B和C
看起来很简单,但是两个int型相加有可能会超出int的范围,采用double型数据规避这个问题,不知还有没有好方法……
刷了11道basic level 感觉简单的倒是挺简单的,可以很快搞出来,但是需要注意详细审题,把各种情况考虑周全。难的题最多的可能花了一天才搞出来,这还何谈advanced level 90分以上啊!!路漫漫啊!加油!
PAT basic level 1001-1011 解题笔记,布布扣,bubuko.com
PAT basic level 1001-1011 解题笔记
原文:http://www.cnblogs.com/luojiahu/p/3636950.html