博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C语言及程序设计】项目1-39-3:反序数
阅读量:4635 次
发布时间:2019-06-09

本文共 1454 字,大约阅读时间需要 4 分钟。

问题描述:

(1)输入一个正整数,输出它的反序数(反序数,即将其所有位的数字反过来。例如,123是321的反序数)

(2)求1000000以内的正整数n,要求9n是n的反序数。

 

老师的算法

1 #include 
2 int main() 3 { 4 int n,m,k; 5 for(n=1; n<1000000; n++) 6 { 7 k=n; 8 m=0; //m将为n的反序数 9 while(k>0) 10 { 11 m=m*10+k%10; 12 k=k/10; 13 } 14 if(m==9*n) //n的反序数m等于9n 15 printf("%d ", n); 16 } 17 printf("\n"); 18 return 0; 19 }

 

笔者的算法

1 #include "stdafx.h" 2 #include 
3 4 int main() 5 { 6 int i,n, m(0), d(0), sum(0); 7 8 //枚举 9 for (i = 1; i < 1000000; i++)10 {11 //初始化12 n = i;13 d = 0;14 sum = 0;15 //计算位数16 for (; 1; )17 {18 d++;19 if (n / 10 == 0)20 {21 break;22 }23 24 n /= 10;25 }26 27 //初始化28 n = i;29 //计算反序数30 for (; 1; )31 {32 sum += m * pow(10, d);33 m = n % 10;34 d--;35 36 if (n % 10 == 0 && n<10)37 {38 break;39 }40 41 n /= 10;42 }43 44 if (9 * i == sum)45 {46 printf("%d %d %d\n",i,9*i, sum);47 }48 }49 50 return 0;51 }

 

感想:

反序数的算法可以记下来,老师的算法很简单高效,但是不是那么容易想起;

 

 

 

 

=

转载于:https://www.cnblogs.com/miyazakehime/p/9139233.html

你可能感兴趣的文章
正则替换
查看>>
jsp 环境配置记录
查看>>
快速学习的方法论
查看>>
线程之线程标识
查看>>
本地视频播放黑屏,有声音
查看>>
Python3-Cookbook总结 - 第一章:数据结构和算法
查看>>
算法Hash
查看>>
剑指offer-丑数
查看>>
Java网页数据采集器[下篇-数据查询]【转载】
查看>>
企业云存储云办公方案
查看>>
Python03
查看>>
CSS单位分析及CSS颜色表示法、颜色表(调色板)
查看>>
设计模式---(设计原则)面向对象设计原则
查看>>
WebGoat教程学习(三)--Ajax安全
查看>>
CF 1029E Tree with Small Distances
查看>>
LOJ 2537 「PKUWC2018」Minimax
查看>>
location.origin兼容IE
查看>>
[BZOJ1602] [Usaco2008 Oct] 牧场行走 (LCA)
查看>>
中间件笔记
查看>>
[SDOI2009]晨跑
查看>>