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

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

发布时间: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;

}

阅读全文

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

热点内容
加密芯片的计算方法 浏览:187
手机存储为什么找不到微信文件夹 浏览:695
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275