sprite 发布的文章
PHP按特定key进行多维数组排序
这个排序在网上直接搜索的结果有这样一个:
array_multisort(array_column($array,'sort'),SORT_ASC,$array);
这个是错误的。 切忌不要以讹传讹了。
分析排查
实际上array_multisort 是PHP内置的方法,官方有说明: PHP - array_multisort
C++程序设计 第三章 习题
2. 计算圆的相关数据
题中给出的r、h在最后的答案中无意义
球的体积 V = 4/3 Pi r^3 球的表面积 S = 4 Pi r^2
体积公式推导和论证 : https://www.zhihu.com/question/405287938
#include <iostream>
#include <iomanip>
using namespace std;
const float PI = 3.1415926;
int main(){
float r,h;
cout << "请依次输入半径和圆柱体高度." << endl;
cin >> r >> h;
// cout << setpreise(2) << setfixed;
cout << setiosflags( ios::fixed ) << setiosflags( ios::right ) << setprecission( 2 );
cout << "\n周长:" << 2*PI*r;
cout << "\n面积:" << PI*r*r;
cout << "\n圆球表面积:" << 4 * PI * r * r;
cout << "\n球的体积:" << 4.0 / 3.0 * PI * r * r *r;
cout << "\n圆柱体体积:" << PI*r*r*h;
cout << endl;
return 0;
}
C/C++判断素数(质数)为什么到根号x就可以而不是x/2?
隐约记得之前做过一个c++的题目是判断一个数是否素数(质数) 我当时给的算法是判断 2 - x/2, 因为被除数大于 x/2 那商一定小于2,所以被除数必须大于x/2
最近看书的时候发现通用的算法是计算 2- sqrt(x) 即 根号x 这就让我产生疑问了,毋庸置疑,这个算法的效率更高,时间复杂度是logn。 那为什么到sqrt(x)就够了呢?
我反复思考总算得出了结论,这里用反证法即可:
已知 n 不是素数,且a,b是 n的两个根, a*b = n
假设 b>sqrt(n),且a>=sqrt(n)
则a*b > sqrt(n) * sqrt(n) 即 a*b > n 与条件相悖
得出若存在一个根大于sqrt(n),
那必定存在另一个小于sqrt(n)的根
与此对应的逆否命题是
若不存在小于sqrt(n)的根,则不存在大于sqrt(n)的根
根据这个证明的结论,判断是否是素数,最多只需要判断到 n 的平方根即可。
C++字节流 cin cout细节
1. 使用前需要导入库
C和C++语言层面都是不提供输入输出功能的。 C使用scanf和printf这类函数用于输入输出 C++使用iostream库中的 cin、cout来进行输入输出
使用cin 导入 #include <istream>
使用cout 导入 #include <ostream>
都使用 导入 #include <iostream>
2. 输入输出流可以连续使用表达式
cin >> a >> b >> c;
cout << a << b << c << endl;
3. 输入输出流自动根据上下文处理变量类型
4. 输出流 支持使用表达式
cout << a+'b' << endl;
最近回复