A.门牌制作
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#define hh ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
typedef long long LL;
using namespace std;
LL res=0;
void div(int x)
{
while(x)
{
if(x%10==2)
res++;
x=x/10;
}
}
int main()
{
hh;
for(int i=1;i<=2020;i++)
{
div(i);
}
cout<<res<<endl;
}
B.既约分数
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#define hh ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
typedef long long LL;
using namespace std;
LL res=0;
int gcd(int a,int b)
{
//辗转相除法
return b?gcd(b,a%b):a;
}
int main()
{
for(int i=1;i<=2020;i++)
{
for(int j=1;j<=2020;j++)
{
if(gcd(i,j)==1)
res++;
}
}
cout<<res<<endl;
}
C.蛇形填数
找第20行20列的数字,即找对角线的数字
找规律,得出An=A(n-1)+4*(ROW()-1);
D.跑步训练
用Excel公式
=IF(OR(RIGHT(I2,2)=”/1”,K2=”周一”),2,1)
E.七段码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// 请在此输入您的代码
int sum = 0;
//有一段二极管发光; a,b,c,d,e,f,g
int l1 = 7;
//有两段二极管发光; ab,af,bc,bg,cg,cd,de,eg,ef,fg
int l2 = 10;
//有三段二极管发光; abf,abc,abg,afg,afe,bcd,bcg,bgf,bge,cgd,cgf,cge,cde,cdg,deg,def,efg
int l3 = 16;//
//有四段二极管发光; abcd,abcg,abcf,abge,abgf,abfe,afeg,bcde,bcdg,bcgf,bcge,bged,bgef,cdef,cdeg,cdgf,cgfa,cgfe,defg,defa
int l4 = 20;
//有五段二极管发光即有两端不发光; ab,ac,ad,ae,af,ag,bc,bd,be,bg,cd,cf,cg,de,df,dg,ef,eg,fg
int l5 = 19;//
//有六段二极管发光即有一端不发光; a,b,c,d,e,f,g
int l6 = 7;//(找一段二极管不发光的:)
//第七种情况,全部发光
int l7 = 1;
sum = l1 + l2 + l3 + l4 + l5 + l6 + l7;
printf("%d\n", sum);
return 0;
}
F.成绩统计
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#define hh ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
const int N=1e4+5;
typedef long long LL;
using namespace std;
int n=0,ca=0,cb=0;
int a[N];
int main()
{
cin>>n;
for(int i=0; i<n; i++)
{
cin>>a[i];
if(a[i]>=60) cb++;
if(a[i]>=85) ca++;
}
double ra=100.0*(double)ca/n;
double rb=100.0*(double)cb/n;
//四舍五入用printf加%.lf
printf("%.lf%\n",rb);
printf("%.lf%\n",ra);
}
G.回文日期
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#define hh ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
const int N=1e4+5;
typedef long long LL;
using namespace std;
int n,flag=0;
int a,b,c,d,e,f,g,h,t;
int y,m,d1;
bool check(int y,int m,int d)
{
if(m<=0||m>12||d>31||d<=0)
return false;
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
if(d<=31) return true;
else return false;
if(m==4||m==6||m==9||m==11)
if(d<=30) return true;
else return false;
if(m==2)
{
if((y%4==0&&y%100!=0)||y%400==0)
{
if(d<=29) return true;
else return false;
}
else if(d<=28)return true;
else return false;
}
}
int main()
{
cin>>n;
for(int i=n+1; i<99999999; i++)
{
a=(i/10000000)%10;
b=(i/1000000)%10;
c=(i/100000)%10;
d=(i/10000)%10;
e=(i/1000)%10;
f=(i/100)%10;
g=(i/10)%10;
h=(i/1)%10;
y=(i/10000);
m=(i/100)%100;
d1=i%100;
if(flag==0)
{
if(a==h&&b==g&&c==f&&d==e)
if(check(y,m,d1))
cout<<i<<endl,flag++;
}
if(a!=b&&a==c&&a==f&&a==h&&b==d&&b==e&&b==g)
if(check(y,m,d1))
{
cout<<i<<endl;
break;
}
}
}
H.子串分值和
暴力
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#define hh ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
const int N=1e4+5;
typedef long long LL;
using namespace std;
string s;
int cnt=0;
bool st[26];
int main()
{
cin>>s;
int slen=s.size();
for(int i=0; i<slen; i++)
{
for(int j=1; j<=slen-i; j++)
{
string b=s.substr(i,j);
int blen=b.size();
memset(st, 0, sizeof st);
for(int k=0; k<blen; k++)
{
int t=b[k]-'a';
if(!st[t])
{
cnt++;
st[t]=true;
}
}
}
}
cout<<cnt<<endl;
}