A A^B Mod C
#include<stdio.h>
#include <math.h>
int main()
{
long long int a,b,c;
long long int s=1;
scanf("%ld %ld %ld",&a,&b,&c);
a=a%c;
while(b){
if(b%2){
s=(s*a)%c;
b--;
}
a=(a*a)%c;
b=b/2;
}
printf("%ld",s);
return 0;
}
B 逆元
#include<stdio.h>
#include<math.h>
long long sushu(long long a){
for(long long i=2;i<=sqrt(a);i++)
if(a%i==0)
return 0;
return 1;
}
int main()
{
long long p,s=0;
scanf("%lld",&p);
if(sushu(p)==0)printf("AKCniubi");
else if(p==2)printf("1");
else{
s=(p-1)/2*p;
printf("%lld",s);
}
return 0;
}
C 判决素数个数
#include<stdio.h>
#include<math.h>
int main()
{
int a,i,j,b,t,h,c=0;
scanf("%d %d",&a,&b);
if(a>b)
{
h=a;
a=b;
b=h;
}
for(i=a;i<=b;i++)
{
t=0;
if(i==1) t=1;
else if(i==2||i==3) t=0;
else if(i>3)
{
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
t=1;
}
}
if(t==0) c++;
}
printf("%d",c);
return 0;
}
D 矩阵乘法
#include<stdio.h>
int main()
{
int a,b,c,i,j,h;
scanf("%d %d %d",&a,&b,&c);
int s1[101][101]={0};
int s2[101][101]={0};
int s3[101][101]={0};
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
scanf("%d",&s1[i][j]);
}
for(i=0;i<b;i++)
{
for(j=0;j<c;j++)
scanf("%d",&s2[i][j]);
}
for(i=0;i<a;i++)
{
for(j=0;j<c;j++)
{
for(h=0;h<b;h++)
{
s3[i][j]=s3[i][j]+s1[i][h]*s2[h][j];
}
}
}
for(i=0;i<a;i++)
{
for(j=0;j<c;j++)
{
printf("%d",s3[i][j]);
if(j!=c-1) printf(" ");
}
if(i!=a-1) printf("\n");
}
return 0;
}
E Bash游戏
#include<stdio.h>
int main()
{
int a,b,c,i;
scanf("%d",&a);
for(i=0;i<a;i++)
{
scanf("%d %d",&b,&c);
if(b%(c+1)==0)
printf("B");
else if(b%(c+1)!=0)
printf("A");
if(i!=a-1)
printf("\n");
}
return 0;
}
F 取石子游戏
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
double i,j;
while(scanf("%d",&a)!=EOF)
{
scanf("%d",&b);
if(a>b)
{
c=a;
a=b;
b=c;
}
j=(double)(b-a);
i=(sqrt(5.0)+1)/2;
if(a==(int)(i*j))
printf("0\n");
else printf("1\n");
}
return 0;
}
G Matches Game
#include<stdio.h>
int a[21];
int main()
{
int m;
while(scanf("%d",&m)!=EOF)
{
for(int i=0;i<m;i++)
scanf("%d",&a[i]);
int t=0;
for(int i=0;i<m;i++)
{
t^=a[i];
}
if(t!=0) printf("Yes\n");
else printf("No\n");
}
return 0;
}