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

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

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

}

阅读全文

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

热点内容
安卓打游戏都是用什么录屏 浏览:930
107区的服务器是什么 浏览:658
非对称加密的加密签名的过程 浏览:443
mysqlinsert命令 浏览:198
电脑盘加密码打开后怎么锁起来 浏览:174
安卓系统是什么代码编译的 浏览:295
解压单车模拟器游戏 浏览:501
应用程序员需要懂很多硬件知识吗 浏览:396
我的世界服务器110地址大全 浏览:624
怎么qq相册加密自己也不能看 浏览:22
linuxc语言串口数据 浏览:857
mac下编写python 浏览:973
厚衬衣程序员 浏览:743
一年级编程精彩内容 浏览:578
cc2540编程 浏览:794
越南离北京源码 浏览:639
服装展示网站源码 浏览:325
编译器过度优化线 浏览:689
安卓怎么边浏览边录视频 浏览:653
分支限界java 浏览:389