水仙花数
21 位时用时 4.94 秒
程序:
#include<stdio.h>
#include<string.h>
#include<time.h>
#define MAX 30
int N=21,top=0;//设置位数 N
char kk[50][MAX];//存储输出结果
void add(int dest[],int src1[],int src2[]){
int flag=0,n , i=1 ;
if(src1[0]>src2[0]){
dest[0] = src1[0] ;
n = src2[0]+1 ;
memcpy(dest+n,src1+n,(MAX-n)*4);
}
else{
dest[0] = src2[0] ;
n = src1[0] + 1 ;
memcpy(dest+n,src2+n,(MAX-n)*4);
}
for(; i < n ; i++ ){
dest[i] = src1[i] + src2[i] + flag ;
if(dest[i]>9){
dest[i] -= 10 ;
flag = 1;
}
else
flag=0;
}
if(flag){
do{
dest[i]=dest[i]+1;
评论0