[NOIP1999]回文数(待补充)

#include<stdio.h>
#include<math.h>
int ishuiwen(int n){
	int sum=0,i=0;
	while(n!=0){
		sum+=(n%10)*pow(10,i);
		i++;
		n=n/10;
	}
	if(sum==n){
		return 1;
	}else{
		return 0;
	}
}
int main(){
	int n,m,mm=0,i=0,k=0,nn=0,step=0,sum;//mm用于存放转换为十进制的m 
	int pre_m;
	int a[100];//逆序存放m的每一位 
	int b[100];//正序存放m的每一位 
	scanf("%d",&n);
	scanf("%d",&m);
	if(n!=10){
		while(m!=0){
	    	a[i++]=m%10;
	    	m=m/10;
	    }
	    for(int j=0;j<i;j++){
	    	mm+=a[j]*pow(n,j);
		}
		m=mm;	    
	}
	while(ishuiwen(m)!=1){
		i=0;
		pre_m=m;
		
		while(m!=0){//求m逆过来的值 
			nn+=(m%10)*pow(10,i);
			i++; 
			m=m/10;
		}
		ishuiwen(pre_m+nn); 
		step++;
	}
	printf("STEP=%d",step);
	return 0;
}
全部评论

相关推荐

10-14 13:25
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务