生成回文数 --第六届蓝桥杯国赛JAVA C组
来源:互联网 发布:钢铁进出口数据 编辑:程序博客网 时间:2024/06/05 20:36
标题:生成回文数
所谓回文数就是左右对称的数字,比如:
585,5885,123321...
当然,单个的数字也可以算作是对称的。
小明发现了一种生成回文数的方法:
比如,取数字19,把它与自己的翻转数相加:
19 + 91 = 110,如果不是回文数,就再进行这个过程:
110 + 011 = 121 这次是回文数了。
200以内的数字中,绝大多数都可以在30步以内变成回文数,只有一个数字很特殊,就算迭代了1000次,它还是顽固地拒绝回文!
所谓回文数就是左右对称的数字,比如:
585,5885,123321...
当然,单个的数字也可以算作是对称的。
小明发现了一种生成回文数的方法:
比如,取数字19,把它与自己的翻转数相加:
19 + 91 = 110,如果不是回文数,就再进行这个过程:
110 + 011 = 121 这次是回文数了。
200以内的数字中,绝大多数都可以在30步以内变成回文数,只有一个数字很特殊,就算迭代了1000次,它还是顽固地拒绝回文!
请你提交该顽固数字,不要填写任何多余的内容。
题目虽然不难,但是还是有经验可以总结。循环相加时用int 和long 都溢出,然后吧所有的方法转换成BigInteger,拜拜浪费时间,以后还得提前预判才好
package 总决赛;import java.io.*;import java.math.BigInteger;public class 生成回文数 {static boolean is_hws(BigInteger n){//是否是回文数String s = String.valueOf(n);char []c = s.toCharArray();int j = 1;for(int i=0;i<c.length;i++){if(c[i] != c[c.length-j])return false;if(i >= c.length-1-i)return true;j++;}return true;}static BigInteger fzs(BigInteger n){//生成翻转数String s = String.valueOf(n);char []c = s.toCharArray();char f[] = new char[c.length];int l = c.length;for(int i=0;i<c.length;i++){f[--l] = c[i];}//String s1 = "";//for(int i=0;i<c.length;i++){//s1 += String.valueOf(f[i]);//}String s1 = new String(f);BigInteger b = new BigInteger(s1);return b;}static int f(BigInteger n){//n需要多少步可以转换成回文数int num = 0;while(!is_hws(n)){//System.out.println(n);n = n.add(fzs(n));num++;if(num>=1000)break;}return num;}public static void main(String[] args) {// TODO Auto-generated method stub//System.out.print(is_hws(01123211));for(int i=1;i<=200;i++){System.out.println(i+" "+f(BigInteger.valueOf(i)));if(f(BigInteger.valueOf(i))>=1000)System.out.println(i);}//System.out.println(is_hws(887));//f(89);}}
阅读全文
0 0
- 生成回文数 --第六届蓝桥杯国赛JAVA C组
- 蓝桥杯 第六届决赛 生成回文数 JAVA
- 居民集会--第六届蓝桥杯国赛JAVA C组第六题
- 回文数的生成
- 关于生成回文数
- 生成一个回文数
- 回文数生成
- 【蓝桥杯】生成回文数
- 蓝桥杯----生成回文数
- 五星填数--第六届蓝桥杯国赛JAVA B组第二题
- C判断回文数
- C语言 回文数
- 回文数C程序
- C语言:回文数
- c++---回文数
- 详细注释如何用C语言生成回文数的方法高效判断回文质数
- 2016蓝桥杯,生成回文数
- java回文数
- YV12转RGB24的计算转换和bmp(dib)文件的显示保存
- API Gateway技术设计
- CMake语法基础入门
- 标准MySQL数据库外的5个开源兼容方案
- Android 高通4.4.4 源码 如何屏蔽Home键
- 生成回文数 --第六届蓝桥杯国赛JAVA C组
- thinkphp导入第三方金山云sdk
- DNS本地解析
- HDU 4417 Super Mario(线段树||树状数组+离线操作 之线段树篇)
- View=android.widget.ZoomButtonsController$Container not attached to window manager
- 项目构建工具Gradle详解
- bat文件和sh文件
- xpath的使用方法以及python爬取数据的保存
- java基础复习--复习总结7