码迷,mamicode.com
首页 > 其他好文 > 详细

9.12练习

时间:2016-09-12 22:20:04      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

贴道练习题...杨老师好不容易想出来的总得给点面子...

题目描述:给定一个n进制数m,将m与的反序数m‘相加得到新的m[1],再将m1与的反序数m1‘相加得到新的m[2],以此类推。输出每步的算式,当m[i]是回文数时输出i,否则若i>30则输出no。(1<=n<=10,0<m<10^100)

嘴上AC还是很简单的...直接上代码好了(写着写着突然发现我连高精度加法都忘差不多了QAQ)

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int max_size=101;
int a[max_size],b[max_size],c[max_size],d[max_size],len,n,nowlen;
char tmp[max_size];
int fs(int a[]){for(int i=0;i<nowlen;i++){if(a[i]!=0)return i;}}
bool huiwen(int a[])
{
    for(int i=0;i<nowlen;i++) 
        if(a[i]!=a[nowlen-i-1]) 
            return false;
    return true; 
}   
bool sum(int a[],int b[])
{
    int i;
    if(nowlen!=0)
    {
        for(i=0;i<nowlen;i++) printf("%d",a[i]);
        printf("+");
        for(i=fs(b);i<nowlen;i++) printf("%d",b[i]);
        printf("=");
        for(i=0;i<nowlen;i++) c[i]=a[nowlen-i-1];
        for(i=0;i<nowlen;i++) d[i]=b[nowlen-i-1];
    }
    for(i=0;i<max_size;i++) c[i]+=d[i];
    for(i=0;i<max_size;i++) 
        if(c[i]>=n) 
        {
            c[i+1]+=1;
            c[i]%=n; 
        }
    i=max_size;nowlen=0;
    while(c[i]==0) i--;
    for(;i>=0;i--) {printf("%d",c[i]);a[nowlen]=c[i];nowlen++;}
    printf("\n");
    for(int i=0;i<nowlen;i++) b[i]=a[nowlen-i-1];
    memset(c,0,sizeof(c));
    memset(d,0,sizeof(d)); 
    return huiwen(a);
}
int main()
{
    int cnt=0;
    cin>>n>>tmp;
    len=strlen(tmp);
    for(int i=0;i<len;i++) a[i]=tmp[i]-‘0‘;
    for(int i=0;i<len;i++) b[i]=a[len-i-1];
    for(int i=0;i<len;i++) printf("%d",a[i]);
    printf("+");
    for(int i=0;i<len;i++) printf("%d",b[i]);
    printf("=");
    for(int i=0;i<len;i++) c[i]=a[len-i-1];
    for(int i=0;i<len;i++) d[i]=b[len-i-1];
    for(int i=0;;i++)
    {
        if(i>30) {printf("no");return 0;}
        cnt++;
        if(sum(a,b)) break;
    }
    printf("%d",cnt);
    return 0; 
}

 

9.12练习

标签:

原文地址:http://www.cnblogs.com/YSFAC/p/5866326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!