zoukankan      html  css  js  c++  java
  • 【PAT】B1079 延迟的回文数(20 分)

    用了柳婼大佬博客的思路,但实现有不同
    没有用string所以要考虑字符串末尾的‘’
    用的stl中的reverse逆置字符串

    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    #include<algorithm>
    using namespace std;
    
    int main(){
        char A[1009]={''},B[1009]={''},C[1009]={''};;
        scanf("%s",A);
        int cut=0;
        for(int i=0;i<10;i++){
    		strcpy(B,A);
    		reverse(B,B+strlen(B));
    		if(strcmp(A,B)==0){
    			printf("%s is a palindromic number.",A);
    			return 0;
    		}						//B逆置
    		int flag=0;
    		for(int j=0;j<strlen(B);j++){		//C=A+B;
    			C[j]=B[j]+A[j]-'0';
    			if(flag==1){
    				C[j]++;flag=0;
    			}
    			if(C[j]>'9'){
    				C[j]-=10;
    				flag=1;
    			}
    		}
    		if(flag==1)
    			C[strlen(C)]='0'+1;
    		reverse(C,C+strlen(C));
    		printf("%s + %s = %s
    ",A,B,C);
    		cut++;
    		strcpy(A,C);
        }
        if(cut==10)printf("Not found in 10 iterations.");
        return 0;
    }
    
    
  • 相关阅读:
    类间关系总结
    Android数据持久化技术
    广播
    活动
    Clean Code
    理解async特性
    async和await构成的异步方法
    ubuntu开启ssh服务
    lumen可以使用laravel-ide-helper
    laravel excel迁移到lumen
  • 原文地址:https://www.cnblogs.com/hebust/p/9491357.html
Copyright © 2011-2022 走看看