zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯VIP 算法训练 简单加法

    时间限制:1.0s 内存限制:512.0MB
    问题描述
      首先给出简单加法算式的定义:
      如果有一个算式(i)+(i+1)+(i+2),(i>=0),在计算的过程中,没有任何一个数位出现了进位,则称其为简单的加法算式。
      例如:i=3时,3+4+5=12,有一个进位,因此3+4+5不是一个简单的加法算式;又如i=112时,112+113+114=339,没有在任意数位上产生进位,故112+113+114是一个简单的加法算式。

    问题:给定一个正整数n,问当i大于等于0且小于n时,有多少个算式(i)+(i+1)+(i+2)是简单加法算式。其中n<10000。
    输入格式
      一个整数,表示n
    输出格式
      一个整数,表示简单加法算式的个数
    样例输入
    4
    样例输出
    3
    【分析】此问题简化之后即为找出满足定义的算式:两个数的每一位数对应相加,都没有产生进位。最后输出算式的个数,可以借用一个中间值,每满足一次,便自增1,最后输出这个中间变量即可。方法可以借用String巧取数的每一位相加。

    import java.util.Scanner;
    
    
    public class 简单加法 {
    public static void main(String[] args) {
    	 Scanner sca=new Scanner(System.in);
    	    int n=sca.nextInt();
    	    int i=0;int p=0;    
    	    for(;i<n;i++){
    	        int a=i;
    	        int b=i+1;
    	        int c=i+2;
    	    String d=Integer.toString(a);
    	    String e=Integer.toString(b);
    	    String f=Integer.toString(c);
    	    int g=d.charAt(d.length()-1)-48;
    	    int h=e.charAt(e.length()-1)-48;
    	    int j=f.charAt(f.length()-1)-48;
    	    int sum=g+h+j;
    	        if(sum<10){
    	            p++;}
    
    	    }
    	     System.out.println(p);
    	    }
    }
    
    
    
    
  • 相关阅读:
    IntelliJ IDEA 14.03 java 中文文本处理中的编码格式设置
    应聘感悟
    STL string分析
    CUDA SDK VolumeRender 分析 (1)
    BSP
    CUDA SDK VolumeRender 分析 (3)
    CUDA SDK VolumeRender 分析 (2)
    Windows软件发布时遇到的一些问题
    Ten Commandments of Egoless Programming (转载)
    复习下光照知识
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948488.html
Copyright © 2011-2022 走看看