精华内容
下载资源
问答
  • 身份证号码中间位数字隐藏

    千次阅读 2019-04-03 15:48:02
    //替换位数,这里替代中间8位 int startIndex = pid.length()/2-hideLength/2; String replaceSymbol = "*";//替换符号,这里用“*”为例 StringBuilder stringBuilder = new StringBuilder...
    String pid = "获取的身份证号码";
    int hideLength = 8;//替换位数,这里替代中间8位 
    int startIndex = pid.length()/2-hideLength/2; 
    String replaceSymbol = "*";//替换符号,这里用“*”为例 
    StringBuilder stringBuilder = new StringBuilder();
    for (int h = 0; h<pid.length();h++){
    	char number = pid.charAt(h);
    	if (h>=startIndex-1&&h<startIndex+hideLength){
    		stringBuilder.append(replaceSymbol);
    	}else {
    		stringBuilder.append(number);
    	}
    }
    pid = stringBuilder.toString();

    出来结果:4102*********62254

    展开全文
  • python实现整数分为几个数的和 问题重述: 如何实现整数分为几个数的和,可以理解为一个整数的分箱问题 简单叙述解题思路: 比如:4这个整数,最多分为4个箱(1,1,1,1);最少一个箱(4) 所以我们定义一个长度为四...

    python实现整数分为几个数的和

    问题重述:

    如何实现整数分为几个数的和,可以理解为一个整数的分箱问题

    简单叙述解题思路:

    比如:4这个整数,最多分为4个箱(1,1,1,1);最少一个箱(4)

    所以我们定义一个长度为四的数组,每个数组最大能取到4(所以想到5进制),开始循环遍历(四个元素之和等于4即满足条件)

    0001

    0002

    0003

    0004(满足)

    0010

    0011

    0012

    0013(满足)

    0014

    0020

    ......

    4440

    4441

    4442

    4443

    4444

     

    当然啦这过程中会有重复的分箱,比如

    0004

    0040

    0400

    4000

    所以在写程序的时候把满足相加等于4的元素,把含有0的全部弹出来,之后再出重就得到答案了。

    废话不多说,代码实现如下:

    程序中的a的就是我们输入的一个整数值,这里的a取list的长度

    #-*-encoding=utf-8-*-
    import itertools
    from itertools import product
    
    import  numpy as np
    def max_values(n,x):
        max_value=0
        iters=np.arange(0,x,1)
        for i in iters:
            max_value= np.power((n-x+2),i)*(n-x+1)+max_value
        return max_value
    
    def min_values(n,x):
        min_value=0
        iters=np.arange(0,x,1)
        for i in iters:
            min_value= np.power((n-x+2),i)*1+min_value
        return min_value
    
    def f(n,x):
        a=range(1,30,1)
        b=[]
        while True:
            s=n//x
            y=n%x
            b=b+[y]
            if s==0:
                break
            n=s
        b.reverse()
        b=list(b)
        return  b
    
    x=[1,2,3,4]
    #a的长度就是我们输入的一个整数值,这里我取list的长度代替这个数
    a=list(set(x))
    iters=np.arange(1,a.__len__()+1,1)
    contianer=list()
    discontianer=list()
    count=0
    for i in iters:
        for j in (np.arange(min_values(a.__len__(),i),max_values(a.__len__(),i)+1,1)):
            b=f(j,a.__len__()-i+2)
            if sum(b)==a.__len__() and (0 not in b):
                contianer.append(tuple(sorted(b)))
                discontianer=list(set(contianer))
    print(discontianer)

    输出结果

    再试一下5的

    喜欢的朋友请点赞哦,方法原创的

    展开全文
  • 个数求最大数、最小数、中间

    千次阅读 2012-03-22 13:45:04
    // 获取中间值 public static int getMidNum(int a, int b, int c) { return (a c ? b : a > c ? c : a)); } // 获取最大值 public static int getMaxNum(int a, int b, int c) { return (a } // 获取...

    // 获取中间值

    public static int getMidNum(int a, int b, int c) {

    return (a < b ? (b < c ? b : a < c ? c : a) : (b > c ? b : a > c ? c
    : a));
    }

    // 获取最大值

    public static int getMaxNum(int a, int b, int c) {
    return (a < b ? (b < c ? c : b) : (a < c ? c : a));
    }

    // 获取最小值
    public static int getMinNum(int a, int b, int c) {
    return (a > b ? (b > c ? c : b) : (a > c ? c : a));

    }


    例子:  编写主函数,提示用户通过键盘输入一个3位整数,判断是否为有效输入,调用一个子函数,取出该整数的各个位数并重新排列,输出可能的最大整数和最小整数。

    // 获取最大数字
    int const& getMaxNum(int const& x, int const& y, int const& z);

    // 获取最小数字
    int const& getMinNum(int const& x, int const& y, int const& z);

    // 获取中间数字
    int const& getMidNum(int const& x, int const& y, int const& z);

    // 数字的新组合
    void getNewCombination(int const& num);


    // 数字的新组合
    void getNewCombination(int const& num)
    {
    int hBit; // 百位
    int tBit; // 十位
    int oBit; // 个位

    int max = 0,min = 0;
    int t = 0;

    hBit = num / 100;
    tBit = (num/10)%10;
    oBit = ((num%100)%10);

    max = getMaxNum(hBit, tBit, oBit);
    min = getMinNum(hBit, tBit, oBit);
    t = getMidNum(hBit,tBit,oBit);

    cout<<"The Maximum num is :  " << (max*100 + t*10 + min)<<endl;
    cout<<"The Minimum num is :  " << (min*100 + t*10 + max)<<endl;

    }


    // 获得最大的数字
    int const& getMaxNum(int const& x, int const& y, int const& z)
    {
    int temp = (x>y)? x : y;
    return temp > z ? temp : z;
    }


    // 求中间大小的数字
    int const& getMidNum(int const& x, int const& y, int const& z)
    {
    return (x < y ? (y < z ? y : x < z ? z : x) : (y > z ? y : x > z ? z : x));  
    }


    // 获取最小的数
    int const& getMinNum(int const& x, int const& y, int const& z)
    {
    int temp = (x<y)? x : y;
    return temp<z ? temp : z;
    }


    void main()
    {
    int num;

    do 
    {
    cout<<"请输入一个三位数 :  ";
    cin>>num;
    if (num < 100 || num > 1000)
    {
    MessageBox(NULL,"数值范围为100--999","提示",MB_OK);
    }
    } while (num < 100 || num > 1000);

    getNewCombination(num);
    cout<<endl;

    }

    展开全文
  • Java中实现两个数的交换,使用中间变量的方法,无外乎采用引用的方法: void swap(int &amp;a,int &amp;b){ int temp; temp = a; a = b; b = temp; } 或者使用指针: void swap(int *a,int *b){ ...

    Java中实现两个数的交换,使用中间变量的方法,无外乎采用引用的方法:

    void swap(int &a,int &b){
        int temp;
        temp = a;
        a = b;
        b = temp;
    }

    或者使用指针:

    void swap(int *a,int *b){
        int temp;
        temp = *a;
        *a = *b;
        *b = temp;
    }

    在不使用中间变量的情况下,有以下几种那个方法供参考:

    1、使用异或的方法,只适用于整型变量,不适用于浮点型

    int x = 10;    //用二进制表示:x=0b1010;
    int y = 15;    //用二进制表示:x=0b1111;
    System.out.println("x="+x+" y="+y);
    x = x^y;    //x^y= 0b1010^0b1111 = 0b0101
    y = x^y;    //x^y= 0b0101^0b1111 = 0b1010 =10
    x = x^y;    //x^y= 0b0101^0b1010 = 0b1111 =15
    System.out.println("x="+x+" y="+y);

    2、使用加减法

    void swap(int *a,int *b){
        *a = *a + *b;
        *b = *a - *b;
        *a = *a - *b;
    }

    3、使用乘除法,被除数不能为零

    void swap(int a ,int b){
        a = a*b;
        b = a/b;
        a = a/b;
    }

    我所知道的方法就是这些,如果大家有更好的方法,欢迎一起讨论。

    展开全文
  • 30选7 随机(1~30中间)生成7个随机数,注意不能重复然后输入7个数,对比7个数是否与随机数相同的,如果显示“中了几个号” 如果中了7个号,显示一等奖 如果中了6个号,显示二等奖 如果中了5个号,显示三等奖....
  • 第一类方法也是常用的方法,通过多次的数值计算来完成交换,现在知道的下面三种: (1)加减法。 a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候可能...
  • 银行卡,手机号隐藏中间几

    千次阅读 2017-05-16 17:40:11
    .setMobileNumber(fRequirement.getMobileNumber().replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2")); .setIdNumber(fRequirement.getIdNumber().replaceAll("(\\d{4})\\d{10}(\\w{4})","$1*****$2"));
  • CCF201612-1 中间数(100分)

    万次阅读 多人点赞 2017-01-24 23:03:02
    试题编号:201612-1试题名称:中间数时间限制:1.0s内存限制:256.0MB问题描述:问题描述 在一整数序列a1, a2, …, an中,如果存在某个,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一序列中...
  • 请问判断3数字之间最大,最小和中间值,要如何判断?例如: $a = 500; $b = 1500; $c = 2000; 希望得到的结果是: 最大是c,最小是a,中间为b。
  • C语言:N个数从小大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。
  • 欢迎使用Markdown编辑器 ...我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作...
  • 位dp总结 之 入门模板

    万次阅读 多人点赞 2016-08-03 14:37:59
    for(int i=le;i;i++) if(right(i)) ans++; 基础篇 ...数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位......数的每一位就是数位啦! 之所以要引入数位的概念完全就是为了dp。
  • C语言:找出中间的数字

    万次阅读 2019-01-20 20:26:04
    输入三整数,找出其中的中间数(根据数值大小)。 输入 输入3整数。 输出 输出中间数 样例输入 样例输出 #include&lt;stdio.h&gt; void swap(int *x,int *y) { int t=*x; *x=*y; *...
  • 试题编号:201612-1试题名称:中间数时间限制:1.0s内存限制:256.0MB问题描述:问题描述 在一整数序列a1, a2, …, an中,如果存在某个,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一序列中...
  • 试题编号:201612-1试题名称:中间数时间限制:1.0s内存限制:256.0MB问题描述:问题描述 在一整数序列a1, a2, …, an中,如果存在某个,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一序列中...
  • 第一类方法也是常用的方法,通过多次的数值计算来完成交换,现在知道的下面三种: (1)加减法。 a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型数值的变量,但在处理浮点型的...
  • /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 11 月 27 日 * 版 本 号:v1.0 * 输入描述: * 问题描述:15个数小顺序存放
  • js 身份证号隐藏中间数字

    千次阅读 2018-12-13 14:43:40
    var card='123845785238542307'; var strcard=card.replace(/^(.{4})(?:\d+)(.{4})$/,"$1******$2");  
  • 最近有用,所以再这里记录一下 SELECT LEFT(字段名,前位数) +‘****’+RIGHT(字段名,后位数) AS 别名 from表 例子:select left(tel,3)+'****'+right(tel,4) as phone from table
  • 折半查找法也叫二分法,顾名思义,从中间分开 区间变换: 找的在左边,就变换区间 在右边,继续变换 可以递归或者循环嵌套区间变换都能实现 易理解 易懂 轻松找出第几个元素 或者 下标 关注我,随时...
  • 15个数按从小大的顺序存放在一个数组中。输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,输出“不在表中”。 折半查找法的原理是:对于一个升序数组,将中间的数和输入的数...
  • Console.WriteLine("三个数中间值:{0}", medians); //取三个数的平均值 double avg; avg = (a + b + c) / 3; Console.WriteLine("三个数平均值:{0}", avg); Console.WriteLine(); //中间值的15% double ...
  • 1000 的阶乘有几位数?

    千次阅读 2013-04-22 16:41:57
    前一段时间看到一个往年程序竞赛的题解, 一个题目说的是求... 题解中给出的讲解提到, 一个数 n 的阶乘末尾多少个 0 取决于 1 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是远远多余 5 的个数的, 因此求出
  • =20)个整数,求出这n个数的平均值及其中的最大数和最小数。 输入格式: 在第一行输入一个介于3至20之间的整数n,在第二行输入n个整数,中间用一个空格分隔数据。 输出格式: 依次输出平均值(保留2位小数),最大值,...
  • * 方法描述 隐藏手机号中间位置字符,显示前三后三字符 * * @param phoneNo * @return * * @author yaomy * @date 2018年4月3日 上午10:38:51 */ public static String hidePhoneNo(String ...
  • 三目运算符“?:”省略中间操作

    千次阅读 2015-08-31 16:00:17
    在使用三目运算符的时候,我们经常见到的是: x ? x : y 就是if else的简写 ...在通过几个实例的实验后,猜测?与:之间省略了x 也就是说x ? : y 就是 x ? x : y 这样就可以讲的通了。 那么形
  • 在开发中,时候会遇到这种需求,比如银行卡号,身份证号,需要将中间的一些数字隐藏,然后展示出来..  NSString *originalString = @"6217613400004525213";     // 转换成 可变字符串  NSMutableString ...
  • // 如果要查找的数字大于中间数,这时候开始的位置要从中间位置加一 else end=mid- 1 ; //如果查找的数字小于中间数,这时候结束的位置中间减一 } if (a>b) printf ( "无此元素" ); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 507,552
精华内容 203,020
关键字:

从几数到几中间有几个数