9.12练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.12练习相关的知识,希望对你有一定的参考价值。
贴道练习题...杨老师好不容易想出来的总得给点面子...
题目描述:给定一个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练习的主要内容,如果未能解决你的问题,请参考以下文章
《DSP using MATLAB》 示例 Example 9.12
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段