精华内容
下载资源
问答
  • 得到一个数字中每一位的数字
    千次阅读
    2021-03-08 06:07:09

    展开全部

    /**

    * @param args

    */

    public static void main(String[] args)

    {

    Scanner in = new Scanner(System.in);

    // 例如 "1234567890123456789012345678901234567890123456789"

    String inputString = in.nextLine();

    BigDecimal bigDecimal = new BigDecimal(inputString);

    String string = bigDecimal.toString();

    char[] charArray = string.toCharArray();

    StringBuffer buffer = new StringBuffer();

    // 从个位数

    for (int i = charArray.length - 1; i >= 0; i--)

    {

    System.out.println("第" + (charArray.length - i) + "位:" + charArray[i]);

    buffer.append(charArray[i] + " ");

    }

    System.out.println(buffer.toString());

    }

    因为是多位数,也不知道多少位,所32313133353236313431303231363533e78988e69d8331333337613838以用大数类型。

    更多相关内容
  • 得到一个每一位数字的几种方法

    万次阅读 多人点赞 2018-10-01 23:19:08
    1.(最简单暴力)直接将数字转换为字符串,然后转换为字符数组输出。 int n=12345; char[] chars=String.valueOf(n).toCharArray(); for(int j=0;j<chars.length;j++){ System.out.print(chars[j]+&...

    1.(最简单暴力)直接将数字转换为字符串,然后转换为字符数组输出。

         int n=12345;
         char[] chars=String.valueOf(n).toCharArray();
    		for(int j=0;j<chars.length;j++){
    			System.out.print(chars[j]+" ");
    		}
    

    在这里插入图片描述
    2.整除法。

    		int n=12345;
    		List<Integer> list=new ArrayList<Integer>();
    		for(int i=10000;i>=1;i/=10){
    			list.add(n/i);//将商添加到list中,就是当前的位数。12345/10000=1  所以第一位是1
    			n=n-(n/i)*i;//用原来的数减去上一位的大小      12345变为2345
    		}
    		for(int x:list){
    			System.out.print(x);
    		}
    

    在这里插入图片描述
    3末位取余法。(取出来为倒序)

              //依次得到一个数的每一位(从后往前)
    		  int n=12345;
    		  int[] a = new int[5];
    		  for(int i=0;i<5;i++){
    			  a[i] = n%10;   //除以10取余数就是最后一位
    			  n /= 10;
    		  }
    		  for(int x:a){
    			System.out.print(x+"  ");
    		}
    

    在这里插入图片描述

    展开全文
  • def func(n):# 从高分为开始打印lengh = len(str(n)) # 确定数字的长度x = 10**(lengh-1) # 确定数字的分if n < 10:print(n)else:print(int(n/x))func(n % x) # 对n的x分取余得到def func1(n):# 从低分开始...

    我就废话不多说了,直接上代码吧!

    def func(n):

    # 从高分为开始打印

    lengh = len(str(n)) # 确定数字的长度

    x = 10**(lengh-1) # 确定数字的分位

    if n < 10:

    print(n)

    else:

    print(int(n/x))

    func(n % x) # 对n的x分位取余得到

    def func1(n):

    # 从低分位开始打印

    if n < 10:

    print(n)

    else:

    print(n % 10)

    func(int(n / 10))

    上述凶高分位打印的时候,会出现0无法打出的现象,现在加一个判断做一个优化

    def f(n):

    num_len = len(str(n))

    if n < 10:

    print(n)

    # return n

    else:

    print(int(n / (10**(num_len-1))), end=' ')

    mod = n % (10**(num_len-1))

    dif_value = num_len - len(str(mod))

    if dif_value > 1:

    for i in range(1, dif_value):

    print(0, end=' ')

    f(mod)

    f(200400900000)

    当然也有同学有跟简单的方法来写,但是需要一定的理解力,就是把低分为的实现方法打印和调用换一个位置变可实现

    def func1(n):

    # 从低分位开始打印

    if n < 10:

    print(n)

    else:

    func(int(n / 10))

    print(n % 10)

    func(int(n / 10))这一步呢其实是先一直在调用,并没有实现打印,等调用到最后一位的时候,就开始回溯,没回溯一步,便打印一位数数来

    补充拓展:使用python递归打印杨辉三角

    啥也不说了,上代码吧

    # 杨辉三角

    # 1

    # 1 1

    # 1 2 1

    #1 3 3 1

    # ........

    #传入上一行,生成下一行

    def next_line(lst):

    newline = [1]

    for x in range(len(lst) - 1):

    newline.append(lst[x] + lst[x + 1])

    newline.append(1)

    return newline

    #定义二位数组,存放;如果为了节约空间,也可以不用放二维数组

    def yanglst(n):

    yanghui = []

    L = [1]

    for x in range(n):

    yanghui.append(L)

    L = next_line(L)

    return yanghui

    for I in yanglst(20):

    print(I)

    以上这篇python 使用递归实现打印一个数字的每一位示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    时间: 2020-02-26

    展开全文
  • C++,如何提取数字每一位

    千次阅读 2021-05-23 07:12:26
    提取数字每一位,可以使用取余和除法的组合来实现。代码如下:int ival;deque numbers;cin >> ival;while(ival) {//注意对 10 取余得到的是当前数字的最后一位numbers.push_front(ival % 10);ival /= 10;...

    提取数字的每一位,可以使用取余和除法的组合来实现。

    代码如下:

    int ival;

    deque numbers;

    cin >> ival;

    while(ival) {

    //注意对 10 取余得到的是当前数字的最后一位

    numbers.push_front(ival % 10);

    ival /= 10;

    因为对10取余得到的是当前数字的最后一位,比如1234%10 的结果是4,所以记录结果的时候必须将每次取余得到的数字放到已经提取出的部分结果的前面。

    对于STL容器 deque或者list,这可以通过push_front()操作来实现。如果对结果的记录不使用这种可以在序列前端插入元素的结构,比如用vector来记录结果,那么最后采用逆序输出也是可以的。扩展资料:

    1、循环提取方法:

    代码:

    while (n) {

    printf("%d ", n % 10);

    n /= 10;

    }

    putchar(10);

    2、直接将数字转换为字符串,然后转换为字符数组输出。

    代码:

    int n=12345;

    char[] chars=String.valueOf(n).toCharArray();

    for(int j=0;j

    System.out.print(chars[j]+" ");

    }

    运行效果:

    2d543edb41b8a965900046793464219d.png

    3、整除法

    代码:

    int n=12345;

    List list=new ArrayList();

    for(int i=10000;i>=1;i/=10){

    list.add(n/i);//将商添加到list中,就是当前的位数。12345/10000=1所以第一位是1

    n=n-(n/i)*i;//用原来的数减去上一位的大小;12345变为2345

    }

    for(int x:list){

    System.out.print(x);

    }

    展开全文
  • 小白一只,现在的环境是这样的:一个String类型的变量”杭州20170222ax”或者是”乌鲁木齐20170222拉拉”我想拿到201702,总之从左往右开始得到一个数字,在往右截6(substring),关键是怎么得到一个数字的下标...
  • c++提取整数每一位数字

    千次阅读 2022-05-12 17:28:56
    方法1:利用整数的取余,取余之后再除以10,得到一位,循环直到变为0,由于提取的时候是从低位开始的,因此如果需要正序输出的话,反转一下数组即可。 void GetIntNum(vector<int>& num,int i) { while (i) { ...
  • Python提取任意长度整数的每位数字

    千次阅读 2020-11-20 22:18:36
    问题描述:编写函数,给定一个任意长度整数,返回每位数字,例如给定1234则返回(1, 2, 3, 4)。问题本身并不复杂,主要演示Python运算符和内置函数的用法和技巧,感谢浙江永嘉教师发展中心应根球老师提供的思路和代码...
  • 得到一个数字中每一位数字

    万次阅读 多人点赞 2014-05-16 10:59:01
    学习编程也有一段时间了,随着学习的不断深入,我越来越体会到了算法的重要性,最近遇到了一些非常有意思的算法,比如打印水仙花数、将数字逆置,在这两个算法会用到一个数字每一位的值 如:判断数字123是否是...
  • 获取一串数字中每一位数的小技巧

    千次阅读 2020-04-04 23:20:01
    JAVA入门基础知识积累获取一串数字中每一位数的小技巧 获取一串数字中每一位数的小技巧 假定有一个五位数 57648 ,我们要获取他的万位、千位、百位、十位、个位的每一个数值,有一个比较方便的做法,不用去做字串...
  • python 利用递归实现打印一个数字每一位 def func(n): # 从高分为开始打印 lengh = len(str(n)) # 确定数字的长度 x = 10**(lengh-1) # 确定数字的分位 if n < 10: print(n) else: print(int(n/x)) ...
  • var a = 12345; // console.log(a); var b = parseInt(a/10000); console.log('万位='+b);... var c = parseInt((a%10000)/1000);... //12345%10000=2345 ---... console.log('个位='+f);  
  • import java.util.Scanner; public class Text4 { ...System.out.println(“请输入一个整数:”); //声明个、十、百、千变量 int a=sc.nextInt(); int ge=a%10; int shi=a/10%10; int bai=a/100%10; i
  • 如何遍历数字每一位

    千次阅读 2021-03-14 11:46:22
    思路 利用取模 10 得到当前数值的最后一位 利用除以 10 得到 去掉最后一位后 剩余的数值 (int ... * 遍历数字每一位 */ @Test public void testForEachNumber() { int num = 12345678; numberForEach(num); }
  • 获取正整数的每一位数字(C)

    千次阅读 2022-04-21 01:56:47
    获取正整数的各位数字的简单实用方法
  • python从字符串提取数字使用正则表达式,用法如下:## 总结## ^ 匹配字符串的开始。## $ 匹配字符串的结尾。## \b 匹配一个单词的边界。## \d 匹配任意数字。## \D 匹配任意非数字字符。## x? 匹配一个可选的 x ...
  • 提取一个整数各个数字 水仙花数
  • Python | 计算一个数字的总位数

    千次阅读 2021-04-26 20:37:17
    先决条件: Python的二进制数系统给定一个数字,我们必须使用Python查找二进制值的总位数来表示该数字。示例Input:num=61Binaryvalueof61is=0b111101Output:Totalnumberofbits=6Note:'0b'...
  • 输入一个三位数的整数,求这个三位数每一位数字的和是多少。例如,输入: 382,输出:和为 13。 编写 Python 程序实现上述要求更多相关问题【判断题】在T-s图上,任意两条可逆绝热过程线不能相交。【单选题】人们...
  • 一、问题描述:工作遇到把一个数转化成32位后,判断某一位是否为1.没有使用逻辑运算符,直接使用C++提供的bitset,特别方便。 二、测试代码 #include #include using namespace std; int main() { // 00000000 ...
  • C语言基础 输出数字每一位

    万次阅读 2018-10-15 14:37:52
    ---------------------...问题:任意输入一个整数,输出他的每一位数 1、 逆序输出 思路: (1)余除,输出最低位数字 (2)整出,依次减少尾数 (3)先余除再整除以此为循环,则形成余尾数,甩尾数的模式,依次输出...
  • 给定一个数,计算该数上的所有数字的和。 例如给定23,和就是2 + 3 = 5. 解决 第一种,这种方法比较通用,也适用于其他语言,比如C语言 定义一个函数,接收一个整数参数,返回和 def digits_sums(num): ...
  • 点击查看C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数上的数字之和。具体信息答:#include /*包含头文件*/void main() /*主函数*/{ int n,sum=0,m=0; /*定义整形函数,用n代替输入的...
  • 新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零 输入格式  输入共 1 行,一个整数 N。 输出格式  输出共 1 行,一个整数,表示反转后的新数。 样例输入 123 输出...
  • 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100​​ 。 输出格式: 在一行内输出 n 的各位数字...
  • 本关任务:输入一个正整数,然后把该整数的每一位数字从高位到低位顺序输出,个数字占一行。 例如:输入:123,程序输出: 1 2 3 相关知识 对于将一个整数各位数字拆开的问题,由于该数字的位数未知,...
  • 3. 在正序输出之前x 就变成另外一个值了,所以在正序输出程序开始时,需要留下 x 的一个备份 y ,在算完位数之后把原来备份 y 赋值给 x ,这样子才可输出它的每一位上的数字; 4. 此时引入权重index,它的初始值是...
  • 本题要求编写程序,输入一个三位数,输出其个位数字、十位数字和百位数字。 输入样例: 在这里给出一组输入。例如: 152 结尾无空行 输出样例: 152 = 2 + 5*10 + 1*100 结尾无空行 a=int(input()) x=a%10 ...
  • //求一个正整数各个数字的相加的和 int number,afterNumber; int sum=0; printf("请输入一个正整数:"); scanf("%d",&number); if(number>0){ while(number>0){ afterNumber=number%...
  • 如何把一个位数字变成数字列表

    千次阅读 2022-02-12 16:18:52
    位数字 -> 数字列表
  • printf("请输入一个数\n"); scanf("%d",&n); int ge,shi,bai; ge = n%10; shi = n/10%10; bai = n/100; printf("个为:%d\n",ge); printf("十为:%d\n",shi); printf("百位为:%d\n",bai.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 749,699
精华内容 299,879
热门标签
关键字:

得到一个数字中每一位的数字

友情链接: ebook.rar