导航:首页 > 源码编译 > 回文数算法描述及实验步骤

回文数算法描述及实验步骤

发布时间:2024-12-13 14:15:13

Ⅰ 设计一个算法,判断一个正的n(n>2)位数是不是回文数,用自然语言描述算法步骤。

设这个数为a,b=log10(n)取整可表示其位数。
先通过算法确定每一位的数字,a1=a/(10^b)取整,a2=(a-a1*10^b)/10^(b-1)。。。。,依次得到各个位数。
然后从第一和最后开始比较,各位数是否相等,如首位数和末位数是否相同。
若都相同才是回文数,否则就不是。

Ⅱ [算法笔记]求最大回文数

小码哥在数学王国是个对回文数着迷的孩子。他计划在数字商店购买一个最大的回文数,每个数的价格等同于该数的值。小码哥手上有n块钱,他想知道能买到的最大回文数是多少。

输入格式:一个正整数n,表示小码哥的零花钱,其中包含前导零。

输出格式:输出一个正整数,表示小码哥能买到的最大回文数。

输入示例:648

输出示例:646

备注:数字长度不超过200。

解题思路:去除前导零后,从前到后遍历回文数的一半部分。若当前字符小于等于其对称位置的字符,直接更新对称位置的字符;反之,需要向前借位。若遇到前一位为0,则将其设为9,继续借位,直到遇到非零数字。若借到首位且原来为1,现为0,则说明数字为1后跟若干个0,直接输出除去首位外的9个数。

Ⅲ 回文数的回文数算法

随意找一个十进制的数,把它倒过来成另一个数,再把这两个数相加,得一个和数,这是第一步;然后把这个和数倒过来,与原来的和数相加,又得到一个新的和数,这是第二步。照此方法,一步步接续往下算,直到出现一个“回文数”为n。例如:28+82=110,110+011=121,两步就得出了一个“回文数”。如果接着算下去,还会得到更多的“回文数”。这个过程称为“196算法”。

Ⅳ 可以帮我解释一下这段 C语言 的回文数的算法吗

这段代码就是把m颠倒过来,然后将这个数与原来的数进行比较,如果相等就说明是回文数。比如m为1234321,颠倒过来还是1234321,与原来相等,说明1234321是回文数。其实有快的,将数作为字符串读入,然后对字符串分别从首尾开始扫描判断是否相等,这样比乘除法更高效。代码如下:
#include <stdio.h>
#include <string.h>
bool isHuiwen(char str[])
{
int i,j;
for (i = 0,j = strlen(str) - 1; i < strlen(str) / 2; i++,j--)
{
if (str[i] != str[j])
return false;
}
return true;

}
int main()
{
int i;
char str[100];
while (scanf ("%s",str))
{
if (isHuiwen(str))
printf ("Yes\n");
else
printf ("No\n");
}
return 0;

}

阅读全文

与回文数算法描述及实验步骤相关的资料

热点内容
三星s4短信存在哪个文件夹 浏览:179
安卓哇偶的ai男友怎么注销 浏览:324
app蓝道出行司机端在哪里下载 浏览:35
tcl空调压缩机电容 浏览:812
25岁转行程序员值不值得 浏览:799
如何连接浴霸中的APP 浏览:850
学app在哪里学 浏览:233
荒野之息攻略pdf 浏览:631
linux硬链接和软链接的区别 浏览:477
pythonmysql书籍 浏览:252
制图的基本命令 浏览:316
从哪里下载网上国网app 浏览:66
药品的挂网信息app在哪里查询 浏览:745
pdf转换flash 浏览:230
网易mc服务器如何开挂 浏览:11
epub格式转pdf 浏览:306
李光耀观天下pdf 浏览:778
慢动作解压视频教程 浏览:972
命令行导入sql文件 浏览:570
wnrar密码是什么加密方式 浏览:187