判断是否为质数
c
bool Prime(int x) //判断x是否是质数
{
for (int i = 2; i <= sqrt(x); i++)
{
if (x % i == 0)
return false;
}
return true;
}
动态规划
给定一串数组,相邻的两个数组无法同时选择,如何选取才能使和最大
c
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> nums = { 2,2,2,10,2,2,5 };
int n = nums.size();
vector<int> dp(n + 1, 0);
dp[1] = nums[0];
for (int i = 2; i <= n; i++) {
dp[i] = max(dp[i - 2] + nums[i - 1], dp[i - 1]);
}
cout << "最大的合为:" << dp[n] << endl;
return 0;
}
知识点
int的范围约是10e9,一般总运算次数在1e8级别每秒,大概在循环或递归十的九次方次左右就会超时。
假设卡常技巧为零。
那么你1.25 x 10^8就差不多了