卡片
消耗完一就可以
#include <iostream>
using namespace std;
int pand(int n){
int m=0;
while(n){
if(n%10==1)
m++;
n=n/10;
}
return m;
}
int main()
{
int sum=0;
int i;
for(i=1;;i++){
sum=sum+pand(i);
if(sum>2021)
break;
}
printf("%d",i-1);
// 请在此输入您的代码
return 0;
}
路径
#include <stdio.h>
#include <stdlib.h>
int min(int a,int b){
if(a>b)
return b;
else return a;
}
int gbs(int a,int b){
int sum;
for(int i=1;;i++){
sum=a*i;
if(sum%b==0)
return sum;
}
}
int main(int argc, char *argv[])
{
int i,j,f[2022];
for(int i=1;i<=2021;i++){
f[i]=0;
}
for(i=1;i<=2021;i++){
for(j=i+1;j<=i+21&&j<=2021;j++){
if(f[j]==0) f[j]=f[i]+gbs(i,j);
else f[j]=min(f[j],f[i]+gbs(i,j));
}
}
printf("%d",f[2021]);
// 请在此输入您的代码
return 0;
}
字符统计
#include <iostream>
using namespace std;
int main()
{
int b[26]={0};
char a[1000000];
int max=0;
scanf("%s",a);
int i;
for(int i=0;a[i]!='\0';i++){
b[a[i]-65]++;
}
for(int i=0;i<26;i++){
if(max<b[i])
max=b[i];
}
for(int i=0;i<26;i++){
if(b[i]==max)
printf("%c",i+65);
}
// 请在此输入您的代码
return 0;
}