#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[10];
int main(){
for(int i=0;i<10;i++){
a[i]=2021;
}
for(int i=1;;i++){
int chu=i;
while(chu){
if(a[chu%10]==0){
printf("%d",i-1);
return 0;//不是break;
}
a[chu%10]--;
chu=chu/10;
}
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
typedef long long ll;
int main(){
ll L,W,H;
ll n=2021041820210418;
vector<ll> v;
for(L=1;L*L<=n;L++){
if(n%L==0){
v.push_back(L);
if(n/L!=L){
v.push_back(n/L);
}
}
}
int res=0;
for(auto a:v)
for(auto b:v)
for(auto c:v)
if(a*b*c==n)
res++;
cout<<res;
return 0;
}
求得一个数所有约数
//求得一个数的所有约数
for(int i=1;i<=sqrt(n);i++){
if(n%i==0){
nums.push_back(i);
if(i*i!=n)nums.push_back(n/i);
}
}
寻找2-n质数个数和,vis中默认false;
for(int i=2;i<n;i++){//寻找质数
if(!vis[i]){
ans++;
for(int j=i+i;j<n;j+=i){
vis[j]=true;
}
}
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
bool vis[100010];
int main(){
int n=10;
int ans=0;
for(int i=2;i<n;i++){//寻找质数
if(!vis[i]){
ans++;
for(int j=i+i;j<n;j+=i){
vis[j]=true;
}
}
}
cout<<ans<<endl;
return 0;
}
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
int main(){
ll n;
cin>>n;
n=n/1000;
n=n%86400;
int h=n/3600;
n=n%3600;
int min=n/60;
int s=n%60;
printf("%02d:%02d:%02d",h,min,s);
return 0;
}
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long ll;
int sum;
bool check(int a){
while(a){
if((a%10==2)||(a%10==1)||(a%10==0)||(a%10==9)){
return true;
}
a=a/10;
}
return false;
}
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
if(check(i)){
sum+=i;
}
}
printf("%d",sum);
return 0;
}