python学习情况
C++速成情况
题目情况
完成四道算法题
主要都是哈希表知识点
打印沙漏
#include<bits/stdc++.h>
using namespace std;
int n,i,j,k;
char c;
int main()
{
cin>>n >>c;
int x=1,uper=0;
while(x<=n)
{
uper++;
x+=2*(2*uper+1);
}
//上
for(i=uper;i>0;i--)
{
for(j=0;j<uper-i;j++)
{
cout<<" ";
}
for(k=0;k<2*i-1;k++)
{
cout<<c;
n--;
}
cout<<endl;
}
//下
int loer=uper-1;
for(i=1;i<=loer;i++)
{
for(j=0;j<loer-i;j++)
{
cout<<" ";
}
for(k=0;k<2*i+1;k++)
{
cout<<c;
n--;
}
cout<<endl;
}
cout<<n;
return 0;
}
个位数统计
#include<bits/stdc++.h>
using namespace std;
char a[1005];
int i=0;
int c=0;
int main()
{
cin>>a;
map<char,int>m;
for(i=0;i<strlen(a);i++)
{
c=a[i]-'0';
m[c]++;
}
for(i=0;i<10;i++)
{
if(m[i]==0)continue;
cout<<i<<":"<<m[i]<<endl;
}
return 0;
}
考试座位号
#include<bits/stdc++.h>
using namespace std;
struct{
char num[20];
}test[1005];
int rech[1005];
int ch[1005];
int n,m;
int a,tag;
int main()
{
cin>>n;
getchar();
int i=0;
map<int,int>m;
while(n--)
{
cin>>test[i].num >>rech[i] >>ch[i];
getchar();
m[rech[i]]=i;
i++;
}
cin>>n;
getchar();
while(n--)
{
cin>>a ;
tag=m[a];
cout<<test[tag].num<<" "<<ch[tag];
cout<<endl;
}
return 0;
}
连续因子
连续因子的乘积必定还是该数的因子
#include<bits/stdc++.h>
using namespace std;
int a[100];
int i,j;
int main()
{
int n;
cin>>n;
int p = 0;
for(i = 2; i < sqrt(n)+1; i++)
{if(n%i==0) {a[p++]=i;}}
if(p==0){a[p++]=n;}
int sum = 1;
int x = 1;
int max = 1;
int y = 0;
for(i = 0; i < p; i++)
{
sum = a[i];
x=1;
for(j = i + 1; j < p; j++)
{
if(a[j] == a[j-1] + 1)
{
sum = sum * a[j];
if(n%sum==0)
{
x++;
if(x>max)
{
max = x;
y=i;
}
}
else
{j = p;}
}
else
{j=p;}
}
}
cout<<max<<endl;
for(int i = y; i < y+max; i++)
{
if(i!=y+max-1)
{cout << a[i] << "*";}
else
{cout << a[i];}
}
return 0;
}