北航上机测试准备 程序5

来源:互联网 发布:mac文件夹防止被删除 编辑:程序博客网 时间:2024/05/16 00:00
/*
#include<stdio.h>
#include<math.h>
int jud(int a)
{
if(a<=1) return 0;
int i;
int j=(int)sqrt(a)+1;
for(i=2;i<j;i++)
{
if(a%i==0){
return 1;
}
}
return 0;
}


void main()
{
int a;
while(scanf("%d",&a)!=EOF){


int t=jud(a)?12:10;
printf("%d\n",t);
}
}
*/
/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int prime[10000];
int primesize;
bool mark[100010];
void init()
{
int i,j;
for(i=1;i<10000;i++)
mark[i]=false;
primesize=0;
for(i=2;i<=10000;i++){
if(mark[i]==true) continue;
prime[primesize++]=i;
for(j=i*i;j<=10000;j+=i)
mark[j]=true;
}
}
void main()
{
init();
int n,i;
while(scanf("%d",&n)!=EOF){
bool isoutput=false;
for(i=0;i<primesize;i++){
if(prime[i]<n&&prime[i]%10==1){
if(isoutput==false){
isoutput=true;
printf("%d",prime[i]);
}
else printf(" %d",prime[i]);
}
}
if(isoutput==false){
printf("-1\n");
}
else printf("\n");
}
}




#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int prime[10000];
int primesize;
bool mark[10001];
void init()
{
int i,j;
primesize=0;
for(i=0;i<10000;i++)
mark[i]=false;
for(i=2;i<10000;i++)
{
if(mark[i]==true)  continue;
prime[primesize++]=i;
for(j=i*i;j<=10000;j+=i)
{
mark[j]=true;
}
}
}
void main()
{
init();
int k;
while(scanf("%d",&k)!=EOF){


   printf("%d\n",prime[k]);
}
}


#include<stdio.h>
#include<stdlib.h>
int prime[10000];
bool mark[10001];
int primesize;
void init()
{
int i,j;
for(i=1;i<=10000;i++)
mark[i]=false;
primesize=0;
for(i=2;i<=10000;i++){
if(mark[i]==true) continue;
prime[primesize++]=i;
for(j=i*i;j<=10000;j+=i){
mark[j]-true;

}
}
}
void main()
{
init();
int n;
while(scanf("%d",&n)!=EOF)
{
int ansprime[30];
int anssize=0;
int ansnum[30];
int i;
for(i=0;i<primesize;i++)
{
if(n%prime[i]==0){
ansprime[anssize]=prime[i];
ansnum[anssize]=0;
while(n%prime[i]==0){
ansnum[anssize]++;
n/=prime[i];
}
anssize++;
if(n==1)  break;
}
}
if(n!=1)
{
ansprime[anssize]=n;
ansnum[anssize++]=1;
}
int ans=0;
int i;
for(i=0;i<anssize;i++)
{
ans+=ansnum[i];
}
printf("%d\n",ans0;
}
}


void main()
{
init();
int n;
while(scanf("%d",&n)!=EOF)
{
int ansprime[30];
int anssize=0;
int ansnum[30];
int i;
for(i=0;i<primesize;i++)
{
if(n%prime[i]==0){
ansprime[anssize]=prime[i];
ansnum[anssize]=0;
while(n%prime[i]==0){
ansnum[anssize]++;
n/=prime[i];
}
anssize++;
if(n==1) break;
}
}
if(n!=1)
{
ansprime[anssize]=n;
ansnum[anssize++]=1;
}
int ans=0;
for(i=0;i<anssize;i++)
{
ans+=ansnum[i];
}
printf("%d\n",ans);
}
}




#include<stdio.h>
#include<stdlib.h>
bool mark[1001];
int prime[1010];
int primesize;
void init()
{
primesize=0;
int i,j;
for(i=2;i<=1000;i++)
{
if(mark[i]) continue;
prime[primesize++]=i;
for(j=i*i;j<=1000;j+=i)
{
mark[j]=true;
}
}
}
int cnt[1000];
int cnt2[1010];
void main()
{
int n,a;
init();
while(scanf("%d%d",&n,&a)==2){
int i,j;
for(i=0;i<primesize;i++){
cnt[i]=cnt2[i]=0;
}
for(i=0;i<primesize;i++){
int t=n;
while(t){
cnt[i]+=t/prime[i];
t/=prime[i];
}
}
int ans=1111111111111;
for(i=0;i<primesize;i++){
while(a%prime[i]==0){
cnt2[i]++;
a/=prime[i];
}
if(cnt2[i]==0) continue;
if(cnt[i]/cnt2[i]<ans)
ans=cnt[i]/cnt2[i];
}
printf("%d\n",ans);
}
}


#include<stdio.h>
#include<stdlib.h>
void main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
if(a==0&&b==0)break;
int ans=1;
while(b!=0){
if(b%2==1){
ans*=a;
// ans%=1000;
}
b/=2;
a*=a;
//a%=1000;
}
printf("%d\n",ans);
}
}
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
if(a==0&&b==0)break;
int ans=1;
while(b!=0){
if(b%2==1){
ans*=a;
}
b/=2;
a*=a;
}
printf("%d\n",ans);
}
}


#include<stdio.h>
#include<string.h>
struct bigInteger{
int digit[1000];
int size;
void init()
{
int i;
for(i=0;i<1000;i++){
digit[i]=0;}
size=0;
}
void set(char str[]){
init();
int L=strlen(str);
for(i=L-1,j=0,t=0,c=1;i>=0;i--){
t+=(str[i]-'0')*c;
j++;
c*=10;
if(j==4||i==0){
digit[size++]=t;
j=0;t=0;c=1;
}


}
}
void output(){
for(i=size-1;i>=0;i--){
if(i!=size-1){
printf("%04d",digit[i]);}
else printf("%d",digit[i]);
}
printf("\n");
}
bigInter operator+(const bigInteger &A)const{
bigInteger ret;
ret.init();
int carry=0;
for(i=0;i<A.size||i<size;i++){
int tmp=A.digit[i]+digit[i]+carry;
carry==tmp/10000;
tmp%=10000;
ret.digit[ret.size++]=tmp;
}
if(carry!=0){
ret.digit[ret.size++]=carry;
}
return ret;
}
}a,b,c;
char str1[1002],str2[1002];
void main(){
while(scanf("%s%s",str1,str2)!=EOF){
a.set(str1);
b.set(str2);
c=a+b;
c.output();
}
}
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
int buf1[20],buf2[20],size1=0,size2=0;
while(a!=0){
buf1[size1++]=a%10;
a/=10;
}
while(b!=0){
buf2[size2++]=b%10;
b/=10;
}
int ans=0;
int i,j;
for(i=0;i<size1;i++){
for(j=0;j<size2;j++){
ans+=buf1[i]*buf2[j];
}
}
printf("%d\n",ans);
}
}


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main(){
char s1[100],s2[100];
int size1,size2;
while(scanf("%s%s",&s1,&s2)!=EOF){
size1=strlen(s1);
size2=strlen(s2);
int ans=0;
int i,j;
for(i=0;s1[i]!='\0';i++){
for(j=0;s2[j]!=0;j++){
ans+=(s1[i]-'0')*(s2[j]-'0');
}
}
printf("%d",ans);
}
}
#include<stdio.h>
#include<stdlib.h>
void main(){
__int64 a,b;
int m;
while(scanf("%d",&m)!=EOF){
if(m==0) break;
scanf("%I64d%I64d",&a,&b);
a=a+b;
int ans[50],size=0;
do{
ans[size++]=a%m;
a/=m;
}while(a!=0);
int i;
for(i=size-1;i>=0;i--){
printf("%d",ans[i]);
}
printf("\n");
}
}*/
#include<stdio.h>
#include<string.h>
void main(){
int a,b;
char str[40];
while(scanf("%d%s%d",&a,str,&b)!=EOF){
int tmp=0,length=strlen(str),c=1;
int i,j;
for(i=length-1;i>=0;i--){
int x;
if(str[i]>='0'&&str[i]<='9'){
x=str[i]-'0';
}
else if(str[i]>='a'&&str[i]<='z'){
x=str[i]-'a'+10;
}
else {
x=str[i]-'A'+10;
}
tmp+=x*c;
c*=a;
}
char ans[40],size=0;
do{
int x=tmp%b;
ans[size+]=(x<10)?x+'0':x-10+'A';
tmp/=b;
}while(tmp);
for(i=size-1;i>=0;i--){
printf("%c",ans[i]);
}
printf("\n");
}
}


#include<stdio.h>
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
void main(){
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n",gcd(a,b));
}
}


#include<stdio.h>
#include<math.h>
bool judge(int x){
if(x<=1) return false;
int bound=(int)sqrt(x)+1;
int i,j;
for(i=2;i<bound;i++){
if(x%i==0) return false;
}
return true;
}
void main(){
int x;
while(scanf("%d",&x)!=EOF){
puts(judge(x)?"yes":"no");
}
}


#include<stido.h>
int prime[10000];
int primesize;
bool mark[100001];
void init(){
int i,j;
for(i=1;i<10000;i++){
mark[i]=false;
}
primesize=0;
for(i=2;i<10000;i++){
if(mark[i]==true) continue;
prime[primesize++]=i;
for(j=i*i;j<10000;j+=i){
mark[j]=true;
}
}
}
void main(){
init();
int n;
while(scanf("%d",&n)!=EOF){
bool isoutput=false;
for(i=0;i<primesize;i++){
if(prime[i]<n&&prime[i]%10==1){
if(isoutput==false){
isoutput=true;
printf("%d\n",prime[i]);
}
else printf(" %d\n",prime[i]);
}
}
}
}








#include<stdio.h>
void main(){
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
if(a==0&&b==0) break;
int ans=1;
while(b!=0){
if(b%2==1){
ans*=a;
}
b/=2;
a*=a;
}
printf("%d\n",ans);
}
}
1 0
原创粉丝点击