• 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);
    	    }
    }
    
    
    
    
  • 相关阅读:
    HDU 4709 3-idiots FFT 多项式
    多项式的黑科技
    JZYZOJ 2043 多项式除法和取余 NTT 多项式
    JZYZOJ 2042 多项式逆元 NTT 多项式
    网络爬虫(4)--正则表达式
    网络爬虫(3)--Beautiful页面解析
    网络爬虫(2)--异常处理
    网络爬虫(1)--准备工作
    PCL库配置出现的问题(WIN10+VS2013)
    QT笔记(1)--QT编程环境搭建
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12948488.html
Copyright © 2020-2023  润新知