• Java实现 删数字


    删数字

    时间限制: 1 Sec 内存限制: 128 MB

    题目描述

    奶牛在数学课上学习了整除的概念。农夫Farmer John为了考验它的数学水平,于是在白纸上写了正整数T。由于农夫不喜欢数字0,所以正整数T是不含数字0的。奶牛可以删除T的若干位数字,剩下来的数字从左到右构成一个正整数P,使得正整数P必须是5的倍数。奶牛有多少种不同的删除方案?具体请看样例解释。

    输入

    第一行,一个正整数T。

    输出

    一个整数,奶牛不同的删除方案数。
    1、奶牛可以删除0个数字(即不删除任何数字)。
    2、奶牛不能把T全部删除掉。即至少要剩下1位数字。
    3、由于T的位数可能较长,建议用字符串形式读入。

    样例输入
    复制样例数据

    1256
    样例输出

    4

    PS:
    我如果是5的倍数,那么我最一位一定是5,所以,我可以找出我的5所在的地方,我其他的地方都可以随便删,但我的5后面的一定要删除

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class 删数字 {
    	public static void main(String[] args) throws IOException {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		String s = br.readLine();
    		br.close();
    		int[] num = new int[s.length()+1];
    		num[0]=1;
    		for (int i = 1; i < num.length; i++) {
    			num[i]=num[i-1]*2;
    		}
    		char[] str=s.toCharArray();
    		long sum=0l;
    		for (int i = 0; i < str.length; i++) {
    			if(str[i]=='5'){
    				sum+=num[i];
    			}
    		}
    		System.out.println(sum);
    	}
    }
    
    
  • 相关阅读:
    概率论02 概率公理-集合
    概率论1 计数-排列-组合
    matplotlib 练习
    python itertools模块练习
    主观世界的破碎与重建——湖畔大学的失败课外课
    Python操作MongoDB(PyMongo模块的使用)
    python操作json数据格式--基础
    linux shell awk实现实时监控网卡流量脚本
    Python 的十个自然语言处理工具
    实现优先级队列 --heapq模块
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074759.html
Copyright © 2020-2023  润新知