北航:2018年计算机学院研究生推免机试第一题

article/2025/10/5 20:53:22
同时也是PAT甲级1024
1024 Palindromic Number (25)(25 分)

A number that will be the same when it is written forwards or backwards is known as a Palindromic Number. For example, 1234321 is a palindromic number. All single digit numbers are palindromic numbers.

Non-palindromic numbers can be paired with palindromic ones via a series of operations. First, the non-palindromic number is reversed and the result is added to the original number. If the result is not a palindromic number, this is repeated until it gives a palindromic number. For example, if we start from 67, we can obtain a palindromic number in 2 steps: 67 + 76 = 143, and 143 + 341 = 484.

Given any positive integer N, you are supposed to find its paired palindromic number and the number of steps taken to find it.

Input Specification:

Each input file contains one test case. Each case consists of two positive numbers N and K, where N (<= 10^10^) is the initial numer and K (<= 100) is the maximum number of steps. The numbers are separated by a space.

Output Specification:

For each test case, output two numbers, one in each line. The first number is the paired palindromic number of N, and the second number is the number of steps taken to find the palindromic number. If the palindromic number is not found after K steps, just output the number obtained at the Kth step and K instead.

Sample Input 1:

67 3

Sample Output 1:

484
2

Sample Input 2:

69 3

Sample Output 2:

1353
3
/*北航计算机学院2018年夏令营推免上机考试第一题*/
/*同时也是PAT甲级考试1024*/
/*真的很难,对字符串、模拟问题需要特别熟练,包括大整数运算等*/
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;static char s1[100];//数的范围在10^9以内,100应该是够了
static char s2[100];int is_huiwen(char s[],int n)//判断该串是否是回文串
{int f=1;for(int i=0;i<n/2;i++)if(s[i]!=s[n-1-i]){f=0;break;}return f;
}int main()
{int k,ck;int i,j,u,ii;while(~scanf("%s%d",s1,&k)){int cn=0;//cn用于记录步骤数int flag=0;//flag用于判断是否已在k步之内完成for(ii=0;ii<k;ii++)//注意这里的循环变量是ii,因为循环里面也有i所以这里不能是i,很容易错而且不容易发现{int len=strlen(s1);//取长度if(is_huiwen(s1,len))//一进来先判断是不是回文,如果是输出然后退出for循环{cout<<s1<<endl;cout<<cn<<endl;flag=1;break;}cn++;//不然,就说明肯定要进行后续步骤,那么cn++,说明步骤加一/*注意,下面要进行的是大整数加法,要从个位开始加,因此是逆过来的方便从个位开始相加,因此现在的s1实际上是s1的逆,我将s1反过来,其实才是真正的s1*//*s1倒过来,存入s2*/for(u=0,j=len-1;j>=0;u++,j--)s2[u]=s1[j];s2[u]='\0';/*大整数加法,s1+s2*/ck=0;//ck是进位for(i=0;i<len;i++)//一位一位地加{int r=s1[i]-'0'+s2[i]-'0'+ck;s1[i]=r%10+'0';ck=r/10;}if(ck)//加完之后要判断一下最高位有没有进位,如果有就填上,没有就倒退一格s1[i]=ck+'0';elsei--;s1[++i]='\0';//最后在下一格填上'\0'for(int w=0;w<i/2;w++)//现在求得的s1,其实是相加后的逆序,为了求得真正相加之后的数,需要逆序一下{char t;t=s1[w];s1[w]=s1[i-w-1];s1[i-1-w]=t;}}//for循环结束if(flag==1)//如果flag为1说明是break退出来的,说明早就输出结束了,直接continue吧continue;if(ii>=k)//注意哦,这里的循环变量是ii不是i,再次强调!!!ii>=k说明k步之后仍然不是回文,那么就直接输出吧{cout<<s1<<endl;cout<<k<<endl;continue;}}
}


http://chatgpt.dhexx.cn/article/B5kMind2.shtml

相关文章

北航计算机学院往年夏令营+预推免机试题目汇总

北航计算机学院硕士复试机经面经&#xff1a; 北航计算机学院往年夏令营预推免机试题目汇总 北航计算机学院往年夏令营考研面试题目汇总 北航计算机学院往年夏令营考研面试数理题目汇总 以下是我在网络上找到的北航计算机学院往年夏令营预推免机试题目&#xff0c;将其汇总到一…

北京航空航天大学计算机考研信息汇总

原文转载于&#xff1a;http://www.noobdream.com/schoolinfo/20/ 北京航空航天大学计算机学院官网 北京航空航天大学软件学院官网 北京航空航天大学网络空间安全学院官网 北京航空航天大学&#xff08;Beihang University&#xff09;&#xff0c;简称北航&#xff0c;由…

北航计算机2018年保研推免经历

最近没怎么写博客&#xff0c;是因为忙于保研的事情&#xff0c;今天只睡了5个小时一大清早就去第一个面了计算机&#xff0c;下午出了预录取名单&#xff0c;晚上上保研系统确定了志愿&#xff0c;可以说稍微有些宽下心来了。 我是从本校软件学院推免到计算机学院。 先上图 …

2022年北京航空航天大学计算机考研复试分数线

北京航空航天大学简称“北航”&#xff0c;2022年研招初试已经结束了&#xff0c;对于参加本次研究生的考生而言&#xff0c;提前了解下计算机考研复试分数线&#xff0c;可以让自己心里有个底。不过根据往年研招复试分数线公布时间来看&#xff0c;预计2022年3月中下旬考研复试…

北航计算机学院往年夏令营+考研面试数理题目汇总

北航计算机学院硕士复试机经面经&#xff1a; 北航计算机学院往年夏令营预推免机试题目汇总 北航计算机学院往年夏令营考研面试题目汇总 北航计算机学院往年夏令营考研面试数理题目汇总 以下是笔者汇总的北航计算机学院往年夏令营考研面试数理题目。 线代 矩阵的范数 我们可以…

北航计算机学院往年夏令营+考研面试题目汇总

北航计算机学院硕士复试机经面经&#xff1a; 北航计算机学院往年夏令营预推免机试题目汇总 北航计算机学院往年夏令营考研面试题目汇总 北航计算机学院往年夏令营考研面试数理题目汇总 以下是我在网络上找到的北航计算机学院往年面试题目&#xff0c;将其汇总到一篇文章&…

【已更新】北航计算机学院考研知识点总结(专业课961)

#文档整理不易&#xff0c;有偿资料详讯wechat&#xff1a;_129Ww 961复习要点 文章目录 961复习要点计组概述计算机组成与结构概述基本组成计算机的功能 计算机中数的表示基本约束&#xff1a;采用二进制&#xff0c;只有0和1 计算机的基本工作过程 总线与输入输出控制方式总…

北航计算机考研经验_2018届考研

北航计算机考研经验 标签&#xff08;空格分隔&#xff09;&#xff1a; 考研 我报的是计算机专硕&#xff0c;不分方向。初试347分&#xff0c;其中政治72&#xff0c;英语67&#xff0c;数学114&#xff0c;专业课94。2018年专硕复试线290分/学硕310分&#xff1b;我347分排…

2024北京航空航天大学计算机考研信息汇总

北京航空航天大学计算机学院官网 北京航空航天大学软件学院官网 北京航空航天大学网络空间安全学院官网 北京航空航天大学&#xff08;Beihang University&#xff09;&#xff0c;简称北航&#xff0c;由中华人民共和国工业和信息化部直属&#xff0c;中央直管副部级建制…

北京航空航天大学计算机考研资料汇总

北京航空航天大学计算机学院官网 北京航空航天大学软件学院官网 北京航空航天大学网络空间安全学院官网 北京航空航天大学&#xff08;Beihang University&#xff09;&#xff0c;简称北航&#xff0c;由中华人民共和国工业和信息化部直属&#xff0c;中央直管副部级建制…

炸了!软件工程超高报录比31:1,北京航空航天大学,连非全都有近千人报考!...

北航研招办官微公布了报考北航的数据&#xff1a; 图片来源&#xff1a;北航研招办官微 https://mp.weixin.qq.com/s/48uNAUnRYGkqkX6sn5rV-A 北航全校一共报考16269人&#xff08;截至10月30日&#xff09; 我这边找到了北航的招生目录&#xff0c;其中包含了招生人数&#xf…

2023北京航空航天大学计算机考研信息汇总

原文转载于&#xff1a;北京航空航天大学 N诺小程序 - 计算机学习考研必备神器 北京航空航天大学计算机学院官网 北京航空航天大学软件学院官网 北京航空航天大学网络空间安全学院官网 北京航空航天大学&#xff08;Beihang University&#xff09;&#xff0c;简称北航…

idea全局搜索文件

在idea中全局搜索CTRLshirtF有時候會不管用 可以直接嘗試下面的方法

linux在终端找文件,在Linux Shell上查找文件的四种方法

众所周知,Linux是极客和开发人员最常使用的操作系统,他们大多是键盘手,并且喜欢编写命令而不是使用图形用户界面(GUI)。与Windows操作系统不同,在Windows中,大多数工作只需单击几下即可完成,而在Linux中,我们拥有用于基本文件操作,文件压缩或提取等所有功能的命令。这些…

易语言从c盘开始搜索文件,全盘搜索查找指定文件

全盘搜索查找指定文件 易语言学习论坛-近在眼前.版本 2 .支持库 iext .子程序 _按钮1_被单击 .局部变量 目录, 文本型 .局部变量 所有盘符, 字节集 .局部变量 盘符, 字节集, , "0" .局部变量 返回值, 整数型 .局部变量 索引, 整数型 编辑框2.内容 &#xff1d; “” …

查找文件的路径

一.whereis&#xff0c;which&#xff0c;locate命令 1.whereis 是搜索系统命令的命令&#xff08;像绕口令一样&#xff09;&#xff0c;也就是说&#xff0c; whereis 命令不能搜索普通文件&#xff0c; 而只能搜索系统命令。 whereis 命令的基本信息如下 所在路径&#xf…

dos命令查找文件

介绍一种处理带空格文件名的简单方法&#xff0c;以查找news script.docx为例 首先用cd /语句将当前位置返回到根目录下&#xff0c;然后利用dir [文件名] /s 语句对文件进行搜索。然而&#xff0c;当文件名含有空格时&#xff0c;会出现如下错误。 这个错误是文件中含有空格导…

Find查找文件

find&#xff1a;用于查找指定目录下的文件 语法&#xff1a;find [目录路径][选项]文件名(用""括起来) -name <字符串> 查找文件名匹配指定字符串的文件 -type<文件类型> 查找指定文件类型的文件 -mtime…

ubuntu快速查找文件

场景&#xff1a;我们现在要查找g2o.cpp这个文件&#xff0c;上帝视角它在这里&#xff0c;但我们并不清楚&#xff0c;如图所示&#xff1a; 1、find 路径名 -name 文件名 sudo find / -name g2o它会显示出搜索路径下所有匹配文件名的路径&#xff0c;在这里它显示了根目录所…

linux查找文件命令

在使用linux系统服务器的时候&#xff0c;经常需要查找文件。有很多方法可以做到这一点。下面给大家总结6个命令。 1. find find是最常见和最强大的查找命令&#xff0c;你可以用它找到任何你想找的文件。 find命令是根据文件的属性进行查找&#xff0c;如文件名&#xff0c…