读书人

二零零六年第2题

发布时间: 2013-11-09 17:06:34 作者: rapoo

2006年第2题

题目地址:http://jobdu.sinaapp.com/problem.php?pid=1016

C语言源码:

#include<stdio.h>#include<math.h>int pr[30];int f(int n){int i,b;b=(int)sqrt((double)n);i=2;while(i<=b){if(n%i==0)return 0;i++;}return 1;}int main(){int a[30],b[30],i,j,lena,lenb,x;char s1[160],s2[160];i=2;j=0;while(j<30){if(f(i))pr[j++]=i;i++;}scanf("%s %s",s1,s2);while(1){if(s1[0]=='0'&&s1[1]=='\0'&&s2[0]=='0'&&s2[1]=='\0')break;for(i=0;i<30;i++){a[i]=0;b[i]=0;}i=0;j=0;x=0;while(s1[i]!='\0'){if(s1[i]>='0'&&s1[i]<='9')x=x*10+s1[i]-'0';else{a[j++]=x;x=0;}i++;}a[j++]=x;lena=j;i=0;j=0;x=0;while(s2[i]!='\0'){if(s2[i]>='0'&&s2[i]<='9')x=x*10+s2[i]-'0';else{b[j++]=x;x=0;}i++;}b[j++]=x;lenb=j;i=0;j=lena-1;while(i<j){x=a[i];a[i]=a[j];a[j]=x;i++;j--;}i=0;j=lenb-1;while(i<j){x=b[i];b[i]=b[j];b[j]=x;j--;i++;}for(i=0;i<29;i++){if(a[i]+b[i]>=pr[i]){a[i+1]=a[i+1]+1;a[i]=a[i]+b[i]-pr[i];}elsea[i]=a[i]+b[i];}i=29;while(a[i]==0)i--;while(i>0)printf("%d,",a[i--]);printf("%d\n",a[i]);scanf("%s %s",s1,s2);}}


读书人网 >编程

热点推荐