浙大06复试题-hdu 1230


火星A+B

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6946    Accepted Submission(s): 2267


Problem Description
读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的……
 

Input
测试输入包含若干测试用例,每个测试用例占一行,包含两个火星正整数A和B,火星整数的相邻两位数用逗号分隔,A和B之间有一个空格间隔。当A或B为0时输入结束,相应的结果不要输出。
 

Output
对每个测试用例输出1行,即火星表示法的A+B的值。
 

Sample Input
 
    
1,0 2,1 4,2,0 1,2,0 1 10,6,4,2,1 0 0
 

Sample Output
 
    
1,0,1 1,1,1,0 1,0,0,0,0,0
 

Source
浙大计算机研究生复试上机考试-2006年


悲剧了……换了n次方法,一直各种错……
最后发现prim数组打错了……!!!

#include "iostream"  
#include "stdio.h"  
#include "math.h"  
#include "vector"  
#include "queue"  
#include "memory.h"  
#include "algorithm"  
#include "string"  
using namespace std;  
#define max(a,b) a>b?a:b
#define min(a,b) a0)
        printf("%d,",s[i--]);
     printf("%d\n",s[i]);
}

int main()
{
    //CalPrim();
    int len,lena,lenb;
    char a[100],b[100];
    while(scanf("%s%s",a,b))
    {
       if(strcmp(a,"0")==0&&strcmp(b,"0")==0)
           break;
       Trans(a,b);         
    }
}


你可能感兴趣的:(C/C++,ACM,Data,Structure)