门牌制作
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int cnt=0;
for(int i=1;i<=2020;i++)
{
int t=i;
while(t)
{
if(t%10==2) cnt++;
t/=10;
}
}
printf("%d",cnt);
return 0;
}
既约分数
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int gcd(int a,int b)
{
while(b)
{
int t=b;
b=a%b;
a=t;
}
return a;
}
int main(int argc, char *argv[])
{
int cnt=0;
for(int i=1;i<=2020;i++)
{
for(int j=1;j<=2020;j++)
{
if(gcd(i,j)==1) cnt++;
}
}
printf("%d",cnt);
return 0;
}
蛇形填数
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int ans=1;
for(int i=1;i<20;i++)
{
ans+=4*i;
}
printf("%d",ans);
return 0;
}
跑步锻炼
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int sum=0;
int week=6;
for(int year=2000;year<=2020;year++)
{
if(year%400==0||(year%4==0&&year%100!=0)) month_day[2]=29;
else month_day[2]=28;
for(int month=1;month<=12;month++)
{
for(int day=1;day<=month_day[month];day++)
{
sum++;
if(week==1||day==1) sum++;
week=(week+1)%7;
if(year==2020&&month==10&&day==1)
{
printf("%d",sum);
return 0;
}
}
}
}
return 0;
}
七段码
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("80");
return 0;
}
成绩统计
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int k1=0,k2=0;
int n;
scanf("%d",&n);
int grade;
for(int i=0;i<n;i++)
{
scanf("%d",&grade);
if(grade>=60) k1++;
if(grade>=85) k2++;
}
float x1=(float)(k1*100.0/n);
float x2=(float)(k2*100.0/n);
int ans1=(int)(x1+0.5);
int ans2=(int)(x2+0.5);
printf("%d%%\n",ans1);
printf("%d%%\n",ans2);
return 0;
}
回文日期
cs
复制代码
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int date1,date2;
scanf("%d %d",&date1,&date2);
int d1=date1%100;
int d2=date2%100;
int m1=date1/100%100;
int m2=date2/100%100;
int y1=date1/10000;
int y2=date2/10000;
int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int cnt=0;
for(int year=y1;year<=y2;year++)
{
if(year%400==0||(year%4==0&&year%100!=0)) month_day[2]=29;
else month_day[2]=28;
for(int month=1;month<=12;month++)
{
for(int day=1;day<=month_day[month];day++)
{
if(year==y1&&month==m1&&day<d1) continue;
if(year==y2&&month==m2&&day<d2) continue;
if(year==y1&&month<m1) continue;
if(year==y2&&month>m2) continue;
int num=year*10000+month*100+day;
int rev=0,t=num;
while(t)
{
rev=rev*10+t%10;
t/=10;
}
if(num==rev) cnt++;
}
}
}
printf("%d",cnt);
return 0;
}
字串分值和
cs
复制代码
#include <stdio.h>
#include <string.h>
int main() {
char s[100005];
int pos[27];
int n;
long long res=0;
memset(pos,0,sizeof(pos));
scanf("%s",s+1);
n=strlen(s+1);
for(int i=1;i<=n;i++)
{
int t=s[i]-'a';
res+=(long long)(i-pos[t])*(n-i+1);
pos[t]=i;
}
printf("%lld",res);
return 0;
}