网站专题页面文案设计,用手机怎么制作动漫视频,哪里有做软件开发的公司,深圳品牌公寓有哪些题目描述 思路
首先此题为一道高精度题#xff0c;然后本题按照题目意思模拟即可。我们可以开两个数组来记录高精度数字#xff0c;这样方便我们处理。判断“该数组是否回文”、“c翻转存入d再做cd”可以写成两个单独的函数。然后主程序组织一下他们即可。注意好退出循环的…题目描述 思路
首先此题为一道高精度题然后本题按照题目意思模拟即可。我们可以开两个数组来记录高精度数字这样方便我们处理。判断“该数组是否回文”、“c翻转存入d再做cd”可以写成两个单独的函数。然后主程序组织一下他们即可。注意好退出循环的条件。
还用到ASCll码~ 参考代码
#includebits/stdc.h const int S303; int n,a[S],l; char c[S],d[S]; inline void add() { for (int i0;il;i) d[l-i-1]c[i]; l2; for (int i0;il;i) { c[i]d[i]; if (c[i]n) c[i1],c[i]-n; } while (!c[l-1]) --l; } inline bool pd() { for (int i0;il;i) if (c[i]!c[l-1-i]) return false; return true; } int main() { scanf(%d,n); scanf(%s,s); lstrlen(c); for (int i0;il;i) { if (c[i]0 c[i]9) c[i]-0; else c[i]c[i]-A10; } int step0; while (!pd()) { step; if (step30) break; add(); } if (step30) printf(STEP%d\n,step); else puts(Impossible!); return 0; }
简化代码
#include bits/stdc.h const int S303; int n,a[S],l; char c[S],d[S]; void add() { for (int i0;il;i) d[l-i-1]c[i]; l2; for (int i0;il;i) { c[i]d[i]; if (c[i]n) c[i1];c[i]-n; } while (!c[l-1]) --l; bool pd() { for (int i0;il;i) if (c[i]!c[l-1-i]) return false; return true; } int main() { scanf(%d,n); scanf(%s,s); lstrlen(c); for (int i0;il;i) { if (c[i]0 c[i]9) c[i]-0; else c[i]c[i]-55; } int step0; while (!pd()) { step; if (step30) break; add(); } if (step30) printf(STEP%d\n,step); else puts(Impossible!); return 0; }--inline可以不要A可以转换为ASCll数字
学会的知识
代码可以简化带字符可以转换为ASCll数字