首页 > 其他分享 >回文数

回文数

时间:2023-05-10 13:24:19浏览次数:22  
标签:10 平方 int 位数 数组 回文

自然语言解决问题:

对于要判定的数 n,计算出其平方后(存于a),按照“回文数”的定义要将最高位与最低位、次高位与次低位······进行比较,若彼此相等则为回文数。此算法需要知道平方数的位数,再一一将每一位分解、比较,此方法对于位数已知且位数不是太多的数来说比较适用。
此问题可借助数组来解决。将平方后的(a 的)每一位进行分解,按从低位到高位的顺序依次暂存到数组中,再将数组中的元素按照下标从大到小的顺序重新将其组合成一个数k(如n=15,则a225 且k-522),若a等于k则可判定a为回文数。

流程图:

 

具体代码:

#include <stdio.h>
int main(){


int m[16],n,i,t,count=0;
long unsigned a,k;
printf("No. number it's square (palindrome)\n");
for(n=1;n<256;n++)
{

k=0;t=1;a=n*n;
for(i=0;a!=0;i++)
{

m[i]=a%10;
a/=10;
}
for(;i>0;i--){

k+-m[i-1]*t;
t*=10;
}

if(k==a)
printf("%2d%10d%10d\n",++count,n,n*n);
}
return 0;
}

标签:10,平方,int,位数,数组,回文
From: https://www.cnblogs.com/Mini-Q/p/17387691.html

相关文章

  • 回文素数
    1.问题描述回文素数指的是一个整数n从左到右和从右到左读其数值都相同且n为素数,则称整数n为回文素数。求出所有不超过1000的回文素数。2.问题分析判断素数就不说了,一会做个函数判断就行求回文数,我用的是穷举法,判断一千以内所有整数,如果是回文数,再去判断是不是素数,如果都符合,......
  • 回文数
    一、问题描述: 二、设计思路:   三、程序流程图:    四、代码实现......
  • LeetCode 516. 最长回文子序列
    classSolution{public:intf[1010][1010];//f[i][j]表示s[i~j]之间的最长序列intINF=0x3f3f3f3f;intlongestPalindromeSubseq(strings){intn=s.size();s=''+s;for(intlen=1;len<=n;len++)for(inti=1;i......
  • [Leetcode] 0680. 验证回文串 II
    680.验证回文串II点击上方标题跳转至leetcode题目描述给你一个字符串 s,最多可以从中删除一个字符。请你判断s是否能成为回文字符串:如果能,返回true;否则,返回false。 示例1:输入:s="aba"输出:true示例2:输入:s="abca"输出:true解释:你可以删除字符'c'。示......
  • 剑指 Offer II 020. 回文子字符串的个数
    题目链接:剑指OfferII020.回文子字符串的个数方法一:动态规划解题思路状态表示:\(dp[i][j]\)表示子字符串\(s[i,j]\)是否为回文串;状态计算:若\(s[i]\)!=\(s[j]\),显然不是;若\(s[i]\)==\(s[j]\),有以下几种可能:\(i\)==\(j\),只有一个字符,是回文串;\(i\)+\(1\)......
  • 7-002-(LeetCode- 5) 最长回文子串
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • day 57 代码思想录 647. 回文子串 |
    给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:"abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:"aaa"输出:6解释:6个回文子串:"a","a","a","aa&......
  • 每日一题-合并回文子串
    合并回文子串由于n比较小,我们可以区间dp\(f[i][j][a][b]\)表示s[i,j]和t[a,b]能否一起构成回文子串。\(g[i][j],h[i][j]\)分别表示s[i,j],t[i,j]能否构成回文字串。g,h直接暴力求即可。注意判断边界条件,也就是i=j和a=b的情况#include<cstdio>#include<algorithm>#include<c......
  • LeetCode 131.分割回文串
    1.题目:给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。示例1:输入:s="aab"输出:[["a","a","b"],["aa","b"]]示例2:输入:s="a"输出:[["a"]]来源:力扣(LeetCode)链接:https......
  • 获取回文(数字篇)
    所谓回文数是指正着数和倒着数一样大,比如1001,5005,8228,9999。请打印出1000-9999之间所有的回文数代码如下: 结果如下:  logo ......