表示回文数,将数字倒过来

比如你输入的数是12321:
循环开始前:m=12321,sum=0;
第1次循环结束:m=1232,sum=1;
第2次循环结束:m=123,sum = 12;
第3次循环结束:m=12,sum=123;
第4次循环结束:m=1,sum=1232;
第5次循环结束:m=0,sum=12321。
输入的是几位数就循环几次。
判断的思路就是,通过循环依次把m的个位,十位,百位...上的数取出来,与sum*10相加。这样得到的数sum就是m颠倒之后的数,如果两者相等,那就是回文数

 1 sum = 0;
 2 for (i = n; i != 0; i /= 10) {
 3     yu = i % 10;
 4     sum = sum * 10 + yu;
 5 }
 6 if (sum == n){
 7     printf("是回文数");
 8 } else {
 9     printf("不是回文数");
10 }
时间: 2024-10-10 21:29:06

表示回文数,将数字倒过来的相关文章

C语言判断回文数

1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 //1.得到这个数字 2.翻转 3.进行比较 4.如果相同 就输出 是 否则 输出不是 6 7 int resource, result, re_tmp; //resource存放用户输入的数值 result存放翻转后的数值 re_tmp 存放用户输入的数值 在翻转的时候会用到 8 result = 0; //对result的初始化 9 printf("

蓝桥杯 BASIC-7~9 特殊的数字、回文数、特殊的回文数

特殊的数字 [AC代码]: #include <iostream> #include <algorithm> #include <cstdio> using namespace std; int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int i = 0; for (i = 10

判断一个数字是否为回文数

Determine whether an integer is a palindrome. Do this without extra space.(source) 判断一个数字是否为回文数,并且不使用额外的存储空间. "回文"是指正读反读都能读通的句子,那么回文数,就很容易理解,就是指一个数正反读的值是相同的.还有一个要求是不要使用额外的存储空间. Hints: 要将一个数的最高位与最低位比较,取出一个数的最低位容易(x%10),但要得到高位却很难. Solution 1: 首先得知

Palindrome Number (回文数)

回文数是指这样的数字:正读和倒读都是一样的.如:595,2332都是回文数,234不是回文数. 注意:负数不是回文数 Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting the integer to string

回文数(swust oj-371)

回文数 Time Limit:   1000MS       Memory Limit:   65535KB Submissions:   70       Accepted:   12 Description 一个自然数如果把所有数字倒过来以后和原来的一样,那么我们称它为回文数.例如151和753357.我们可以把所有回文数从小到大排成一排:1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, ...注意10不是回文数,虽然我们可以把它写成010,但是在本题中前导0是不

回文数C语言

题目描述 若一个数(首位不为0)从左到右读与从右到左读都是一样,这个数就叫做回文数,例如12521就是一个回文数. 给定一个正整数,把它的每一个位上的数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止.给定的数本身不为回文数. 例如:87则有: STEP1: 87+78=165 STEP2: 165+561=726 STEP3: 726+627=1353 STEP4: 1353+3531=4884 编写一个程序,输入M(12<=M<=1

C判断一个正整数n的d进制数是否是回文数

所有的有关于回文数的定义和如何判断一个n的d进制数是否是回文数的方法都在我的代码注释当中,直接上代码: #include <stdio.h> int circle(int n,int d); /** * @brief main 判断正整数n的d进制表示是否是回文数 * @return */ int main(void) { /** * 回文数,就是顺着看和倒着看相同的书,例如n=232,十进制书表示为232, * 顺着看和倒着看都是232,则表示n是回文数 * 判断n的d进制表示是否是回文数有

[swustoj 371] 回文数

回文数(0371) 问题描述 一个自然数如果把所有数字倒过来以后和原来的一样,那么我们称它为回文数.例如151和753357.我们可以把所有回文数从小到大排成一排:1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, ...注意10不是回文数,虽然我们可以把它写成010,但是在本题中前导0是不允许的. 你的任务是求出第i小的回文数.例如第1,12,24大的回文数分别是1,33,151. 输入 输入只有一行,即i(1<=i<=2*10^9).输出 输出只有一行,即第i小的

回文数系列题目(经典算法)

回文数 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 描述 请寻找并输出1至1000000之间的数m,它满足m.m^2和m^3均为回文数.回文数大家都知道吧,就是各位数字左右对称的整数,例如121.676.123321等.满足上述条件的数如m=11,m^2=121,m^3=1331皆为回文数. 输入 没有输入 输出 输出1至1000000之间满足要求的全部回文数,每两个数之间用空格隔开,每行输出五个数 解析:这道题直接模拟就好了,算是回文数中最简单的题了,直接写个判断回