首页 > 代码库 > HDU - 1282 回文数猜想
HDU - 1282 回文数猜想
题意:对数字的一些操作。
1.在stdlib.h中有个函数itoa(),可以实现整型数字转化成字符串。(---->还有其他类型可以转换)
itoa的用法:
itoa(i,num,10);
i 需要转换成字符的数字
num 转换后保存字符的变量(数组)
10 转换数字的基数(进制)10就是说按照10进制转换数字。还可以是2,8,16等等进制类型。
2.如何把数字正序和倒序相加。
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #define M 1000000 5 char num[M]; 6 int rnum[1000]; 7 int is_Palindrome(int n){ 8 memset(num,0,sizeof(num)); 9 itoa(n,num,10); 10 for(int i=0,j=strlen(num)-1;i<=j;i++,j--){ 11 if(num[i]!=num[j]) return 0; 12 } 13 return 1; 14 } 15 int add(int n){ 16 int rn=n; 17 int sum=0; 18 while(n){ 19 sum=sum*10+n%10; 20 n=n/10; 21 } 22 return sum+rn; 23 } 24 int main(){ 25 int n,count,t; 26 while(scanf("%d",&n)!=EOF){ 27 count=0,t=0; 28 if(is_Palindrome(n)==1){printf("%d\n",count);printf("%d\n",n);continue;} 29 else{ 30 while(is_Palindrome(n)!=1){ 31 rnum[t++]=n; 32 n=add(n); 33 count++; 34 } 35 rnum[t]=n; 36 } 37 printf("%d\n",count); 38 for(int i=0;i<=t;i++){ 39 if(i==0) printf("%d",rnum[i]); 40 else printf("--->%d",rnum[i]); 41 } 42 printf("\n"); 43 } 44 return 0; 45 }
HDU - 1282 回文数猜想
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。