一周刷题总结
前言
一周HOJ刷题个人收获与体会
一、memset函数使用?
memset()函数可以用于内存空间的初始化,例如:char ch[100] 等价于 memset(ch,0,100),方便于清空一个数组。
二、C++中使用一个函数返回多个值
将函数定义个一个返回类型后,将函数形参定义为应用类型,便可以实现返回多个值
代码如下(示例):
int cmp (int &a,string &b)
a = 0;
b = "aaaa";
return 1;
此函数便实现了三个数的返回,其中调用该函数时传入的两个实参被赋值为0和aaaa,函数返回值为1
三、素数的三个判断方法
1、使用sqrt()函数求得数m的平方根,从2开始遍历至m,当m整除变量i时,则该数不是一个质数,返回false。
代码如下(示例):
bool isprime (int m)
{
int n = sqrt(m);
for(int i=2;i<n;i++)
{
if(m%i==0)
return 0;
}
return 1;
}
2、当n>=5时,根据素数的分布规律,可以将数表示为:
6n-1,6n = 2(3n),6n+1,6n+2 = 2(3n+1),6n+3=3(2n+1),6n+4=2(3n+2);可知,上面数据中只有6n-1与6n+1 可能为素数,由此可进一步求素数。
四、substr()函数使用
substr()函数可用于截取字符串中的一部分,substr(i,j)表示从第i个元素开始截取j个元素
例如
string str 当取字符串中5,13中的元素时,可表述为string s = str.substr(5,8 )