49,425
社区成员




1.
#include<bits/stdc++.h>
#include <algorithm>
using namespace std;
int main()
{
// 请在此输入您的代码
int n;
cin>>n;
//线性筛
vector<int> s(n+1,0);
s[1] =1;
for(int i=2;i<=n;i++)
{
for(int j=2;j<= i/j;j++)
{
if(i % j == 0)
{
s[i] =j;
break;
}
}
if(s[i] ==0)
s[i] = i;
}
//输入
vector<int> v(n+1,0);
for(int i=1;i<=n;i++)
cin>>v[i];
//dp
vector<long long> dp(n+1,INT_MIN);
dp[1] = v[1];
for(int i=1;i<n;i++)
{
for(int j=1;j<=s[n-i];j++) //开始跳
{
if(i+j <=n)
{
dp[i+j] = max(dp[i+j],dp[i] + v[i+j]);
}
}
}
cout<<dp[n]<<endl;
return 0;
}
2.
#include <iostream>
using namespace std;
int main()
{
// 请在此输入您的代码
for(int i=1900;i<2000;i++)
{
for(int j=1;j<=31;j++)
{
int sum = i*10000 + 600 + j;
if(sum % 6036 == 0)
{
cout<< sum <<endl;
break;
}
}
}
return 0;
}
3.
#include <iostream>
#include <string>
using namespace std;
int main() {
long long count = 0;
for (int a1 = 1; a1 < 673; a1++) {
for (int a2 = a1 + 1; a2 < 2019; a2++) {
if(2019 - a1 -a2 <= a2)
break;
string s1 = to_string(a1);
string s2 = to_string(a2);
string s3 = to_string(2019 - a1 - a2);
if (s1.find('2') == string::npos && s1.find('4') == string::npos &&
s2.find('2') == string::npos && s2.find('4') == string::npos &&
s3.find('2') == string::npos && s3.find('4') == string::npos
)
count++;
}
}
cout << count << endl;
return 0;
}