国产成人免费观看视频_亚洲国产激情_www.91视频com_www.久久_91视频全集_亚洲综合在

大学生新闻网,大学生新闻发布平台
大学生新闻网
大学生新闻大学生活校园文学大学生村官
社会实践活动社会实践经历社会实践报告社会实践总结社会实践心得
全国排名校友会版软科排名分类排名本科排名一本排名二本排名专科排名学校地址
求职简历职场法则面试技巧职场故事求职招聘大学生就业
英语学习计算机学习电气工程机械工程经济管理建筑设计财务会计
申请书证明书检讨书自荐信演讲稿心得体会调查报告读后感求职信推荐信其它范文

C语言求回文数

问题描述
打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数)。
问题分析
对于要判定的数n计算出其平方后(存于a),按照“回文数”的定义要将最高位与最低位、次高位与次低位……进行比较,若彼此相等则为回文数。此算法需要知道平方数的位数,再一一将每一位分解、比较,此方法对于位数已知且位数不是太多的数来说比较适用。

此问题可借助数组来解决。将平方后的(a的)每一位进行分解,按从低位到高位的顺序依次暂存到数组中,再将数组中的元素按照下标从大到小的顺序重新将其组合成一个数众(如n=15,则a=225且k=522),若k等于n×n则可判定n为回文数。

算法设计
从低位到高位将某一整数拆分。对于一个整数(设变量名为a)无论其位数多少,若欲将最低位拆分,只需对10进行求模运算a%10,拆分次低位首先要想办法将原来的次低位作为最低位来处理,用原数对10求商可得到由除最低位之外的数形成的新数,且新数的最低位是原数的次低位,根据拆分最低位的方法将次低位求出a/10、a%10,对于其他位上的数算法相同。

利用这个方法要解决的一个问题就是,什么情况下才算把所有数都拆分完?当拆分到只剩原数最高位时(即新数为个位数时),再对10求商的话,得到的结果肯定为0,可以通过这个条件判断是否拆分完毕。根据题意,应将每次拆分出来的数据存储到数组中,原数的最低位存到下标为0的位置,次低位存到下标为1的位置……依次类推。

程序段如下:

for (i=0; a!=0; i++)
{
    m[i] = a % 10;
    a /= 10;
}
将数组中元素重新组合成一新数。拆分时变量a的最高位仍然存储在数组中下标最大的位置,根据“回文数”定义,新数中数据的顺序与a中数据的顺序相反,所以我们按照下标从大到小的顺序分别取出数组中的元素组成新数k,由几个数字组成一个新数时只需用每一个数字乘以所在位置对应的权值然后相加即可,在编程过程中应该有一个变量t来存储每一位对应的权值,个位权值为1,十位权值为10,百位权值为100……,所以可以利用循环,每循环一次t的值就扩大10倍。对应程序段如下:

for( ; i>0; i--)
{
    k += m[i-l] * t;
    t *= 10;
}
下面是完整的代码:


#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++ )  /*穷举n的取值范围*/
    {
        k=0; t=1; a=n*n;  /*计算n的平方*/
        for( i=0; a!=0; i++ )  /*从低到高分解数a的每一位存于数组m[1]~m[16]*/
        {
            m[i] = a % 10;
            a /= 10;
        }
        for(; i>0; i--)
        {
            k += m[i-1] * t;  /*t记录某一位置对应的权值 */
            t *= 10;
        }
        if(k == n*n)
            printf("%2d%10d%10d\n", ++count, n, n*n);
    }
    return 0;
}
</stdio.h>
运行结果:

No.    number     it's square(palindrome)
 1         1         1
 2         2         4
 3         3         9
 4        11       121
 5        22       484
 6        26       676
 7       101     10201
 8       111     12321
 9       121     14641
10       202     40804
11       212     44944
    作者:大学生新闻网    来源:大学生新闻网
    发布时间:2025-03-11    阅读:
    扫一扫 分享悦读
  • C语言求勾股数
  • 所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c)。
  • 03-11 关注:0
  • C语言求回文数
  • 将数组中元素重新组合成一新数。拆分时变量a的最高位仍然存储在数组中下标最大的位置
  • 03-11 关注:0
  • C语言水仙花数
  • 输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13
  • 03-11 关注:0
  • C语言求自守数
  • 自守数是指一个数的平方的尾数等于该数自身的自然数。
  • 03-11 关注:0
  • C语言求亲密数
  • C语言求亲密数
  • 如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A
  • 03-11 关注:0
  • C语言求完数(完全数)
  • C语言求完数(完全数)
  • 如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1、2、3,而 6=1+2+3,因此6是“完数”。
  • 03-11 关注:1
  • C语言输出菱形(详解版)
主站蜘蛛池模板: 欧美潮喷videosvideo | 日韩国产丝袜人妻一二区 | 国产欧美日韩精品丝袜高跟鞋 | 久久精品综合一区二区三区 | 9久久9久久精品 | 午夜影院污 | 老师的丰满大乳奶水视频 | 国产亚洲人成在线影院 | 麻豆传煤入口免费进入2023 | 国产精品无码一区二区三区电影 | 色欲网天天无码av | 毛片电影网 | 日本牲交大片无遮挡 | 欧美啪啪网址 | 国产玉足榨精视频在线观看 | 韩国一级做a爰片性色毛片 韩国一区二区三区 | 四虎电影网 | 无码精品人妻一区二区三区漫画 | 日本草草影院 | 强开小婷嫩苞又嫩又紧视频 | 国产精品毛片无码 | 精品久久久久久免费影院 | 国产亚av手机在线观看 | 国产成人免费片在线观看 | 国产精品v欧美精品∨日韩 国产精品v欧美精品v日韩精品 | 亚洲第一天堂无码专区 | 久久精品国产大片免费观看 | 午夜片神马影院福利 | av熟女人妻一区二区三区 | 太粗太深了太紧太爽了动态图男男 | 在线观看国产一区二区三区99 | 成人福利视频在线观看网 | 色姑娘久 | 国产成人精品视频一区 | 无码专区一ⅴa亚洲v天堂 | 成人性a激情免费视频 | 高清二区 | 爱爱一区| 久久国产片 | 成人网男女啪啪免费网站 | 欧美亚洲精品suv |