//输入三个整型a,b,c c≥0且c≤8 打印a的b次方的最后c位
#include<stdio.h>
int main()
{
int a,b,c,i,r=1,s[8];
scanf("%d%d%d",&a,&b,&c);
for(i=0;i<b;i++)
{
r=r*a;
}
for(i=0;i<c;i++)
{
s[i]=r%10;
r=r/10;
}
for(i=c;i>0;i--)
{
printf("%d",s[i-1]);
}
return 0;
}
//输入两个整数a,b把十进制数a转化为b进制数并输出
#include<stdio.h>
void tran(int r)
{
if(r<10)
{
printf("%d",r);
}
else
{
printf("%c",'a'+r-10);
}
}
int main()
{
int a,b,i,r[10];
scanf("%d%d",&a,&b);
for(i=0;a!=0;i++)
{
r[i]=a%b;
a=a/b;
}
i--;
for(;i>=0;i--)
{
tran(r[i]);
}
return 0;
}
//输入两个非常大的整数 请计算它们的和并打印输出
#include<stdio.h>
int main()
{
int i,i1,i2,r=0,t=0;
char a[1000],b[1000],c[1001];
scanf("%s%s",a,b);
for(i=0;i<1001;i++)
c[i]='0';
i--;
for(i1=0;a[i1+1]!=' ';i1++);
for(i2=0;b[i2+1]!=' ';i2++);
for(;i1>=0||i2>=0;i1--,i2--,i--)
{
if(i1>=0&&i2>=0)
{
t=a[i1]-'0'+b[i2]-'0'+r;
r=t/10;
c[i]+=t%10;
}
if(i1>=0&&i2<0)
{
t=a[i1]-'0'+r;
r=t/10;
c[i]+=t%10;
}
if(i1<0&&i2>=0)
{
t=b[i2]-'0'+r;
r=t/10;
c[i]+=t%10;
}
}
i++;
if(r!=0)
{
i--;
c[i]=c[i]+r;
}
for(;i<1001;i++)
{
printf("%c",c[i]);
}
return 0;
}
//输出十万以内所有素数,并输出个数
#include<stdio.h>
int main()
{
int f=0,x,i,j;
int a[10000];
a[0]=2;
for(i=3;i<100000;i=i+2)
{
j=0;
for(x=f;x>=0;x--)
{
if(i%a[x]==0)
{
j=1;
}
}
if(j==0)
{
f++;
a[f]=i;
}
}
x=f+1;
for(;f>=0;f--)
{
printf("%d ",a[f]);
}
printf("
%d",x);
return 0;
}