将输入的一个数进行多少次变换变成个位数
来源:互联网 发布:神龙战士进阶数据 编辑:程序博客网 时间:2024/06/06 00:42
题目:将输入的一个数进行多少次变换变成个位数
例子:输入 285 …………. 2*8*5=80 ……………8*0=0 需要2次变换
要求输入:整数小于等于2,000,000,000
import java.util.Scanner;public class test { private static int temp = 0; public static int zhuanhuan(int i){ jsq();//计数器+1 String s = String.valueOf(i); //int转换字符串 第一种方法:s=i+""; 会产生一个string对象 char c[] = s.toCharArray(); //将字符串变换为字符数组 int k = Integer.parseInt(String.valueOf(c[0])); for(int j = 1; j< c.length; j++){ k *= Integer.parseInt(String.valueOf(c[j])); if (k/10 == 0) break; } if (k/10 != 0){ //不是个位数? return zhuanhuan(k); } else{ return k; //返回该个位数 } } public static int jsq(){ //计数器 return ++temp; } @SuppressWarnings("resource") public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入一个数:"); int input = sc.nextInt(); if(input>2000000000 || input<0){ System.out.println("输入数字不符合规范"); }else{ int i = zhuanhuan(input); System.out.println("需要转换:"+temp+"次就可以变为个位数:"+ i ); } }}
细化完善代码;
import java.util.Scanner;public class Main { private static int temp = 0; public static int zhuanhuan(int i){ String s = String.valueOf(i); //int转换字符串 第一种方法:s=i+""; 会产生一个string对象 char c[] = s.toCharArray(); //将字符串变换为字符数组 int k = Integer.parseInt(String.valueOf(c[0])); for(int j = 1; j< c.length; j++){ k *= Integer.parseInt(String.valueOf(c[j])); if(k==0) break; } jsq();//计数器+1 if (k/10 != 0){ //不是个位数? return zhuanhuan(k); } else{ return k; //返回该个位数 } } public static int jsq(){ //计数器 return ++temp; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int input = sc.nextInt(); if (input<10){//输入个位数返回当前数值 System.out.println(temp); }else{ zhuanhuan(input); System.out.println(temp); } }}
阅读全文
0 0
- 将输入的一个数进行多少次变换变成个位数
- 对一个数进行若干变换直至变成个位数
- 将一个输入的字符串进行逆序
- 将一个数的二进制位进行翻转
- 利用if else语句编写程序读取输入,直到#, 用一个感叹号代替每个句号,将原有的每个感叹号用两个感叹号代替,最后报告进行了多少次替代。
- C primer plus 第七章 练习4: 利用if else语句编写程序读取输入,直到#, 用一个感叹号代替每个句号,将原有的每个感叹号用两个感叹号代替,最后报告进行了多少次替代。
- 接收用户输入的一个5位数,求个位数、十位数、百位数、千位数、万位数的和
- 输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。
- 将输入的密码变成*的代码
- 求一个整数的百位数,十位数,个位数
- C语言基础 输入一个字符串,用指针的方法将小写字母变成大写字母
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数
- //1、输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数和最后一个数对换,写三个函数:1.输入10个数,2.进行处理.3输出10个数
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
- * 问题描述:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
- C++实现快速排序
- Redis复制,事故情况分析
- Android组件化和插件化开发
- PAT (Basic Level) Practise (中文) 1040. 有几个PAT(25)
- hdu5542(树状数组优化dp)
- 将输入的一个数进行多少次变换变成个位数
- <a>标签带参数跳转并在下一个页面接收
- argparse
- 【LeetCode】Anagrams(笔记)
- android欢迎页面图片的渐入切换效果
- servlet
- vs2013 调试libevent 源码
- 点击按钮桌面全屏功能
- win7环境下L2TP客户端找不到证书故障(766)解决