首页 > 试题广场 >

kiki算数

[编程题]kiki算数
  • 热度指数:37581 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解


问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且并且能够进行 100 以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行大于等于100的正整数的计算时,规则如下:

1.       只保留该数的最后两位,例如:对KiKi来说1234等价于34

2.       如果计算结果大于等于 100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。

例如:45+80 = 25

要求给定非负整数 ab,模拟KiKi的运算规则计算出 a+b 的值。


数据范围:

输入描述:
一行,输入两个非负整数a和b,用一个空格分隔。(0 <= a,b<= 231-1)。


输出描述:
针对每组输入,输出按照KiKi的运算规则计算出 a+b 的值。
示例1

输入

45 80

输出

25
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            String a = in.next();
            String b = in.next();
            StringBuffer c = new StringBuffer();
            StringBuffer d = new StringBuffer();
            for (int i = a.length() - 2; i <= a.length() - 1; i++) {
                c.append(a.charAt(i));
            }
            for (int i = b.length() - 2; i <= b.length() - 1; i++) {
                d.append(b.charAt(i));
            }
            int sum = Integer.parseInt(c.toString()) + Integer.parseInt(d.toString());
            sum = sum %10 +sum/10%10*10;
            System.out.println(sum);
        }
    }
}

编辑于 2024-02-28 19:45:05 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt();
        System.out.println((a+b)%100);
    }
}

发表于 2022-08-11 19:50:47 回复(0)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num1 = scanner.nextInt();
        int num2 = scanner.nextInt();
        int result = num1 + num2;
        int onesPlace = result % 10;
        int tensPlace = result / 10 % 10;
        String onesPlaceStr = String.valueOf(onesPlace);
        String tensPlaceStr = String.valueOf(tensPlace);
        if(tensPlace == 0){
            System.out.println(onesPlace);
        }else{
            System.out.println(tensPlaceStr + onesPlaceStr);
        }
        
    }
}

发表于 2022-06-24 14:37:55 回复(0)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = a + b;
        int ge = c % 10;
        int shi = (c - ge) % 100;
        if (shi == 0) {
            System.out.print(ge);
        } else {
            System.out.print(shi + ge);
        }
    }
}

发表于 2022-06-16 14:43:20 回复(0)
import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner input=new Scanner(System.in);
        int a=input.nextInt();
        int b=input.nextInt();
        long sum=a+b;
        String result=String.valueOf(sum);
        char Dez=result.charAt(result.length()-2);
        char Bit=result.charAt(result.length()-1);
        if(Dez=='0'){
            System.out.print(Bit);
        }
        else if(Dez=='0'&&Bit=='0'){
            System.out.print(Bit);
        }
        else{
             System.out.print(Dez);
            System.out.print(Bit);
        }
           
    }
}

发表于 2022-04-29 10:54:29 回复(0)
import java.math.BigInteger;
import java.util.Scanner;

/**
 *
 * @Title          kiki算数
 * @Description    <TODO>
 * 问题:KiKi今年5岁了,已经能够认识100以内的非负整数,并且并且能够进行 100 以内的非负整数的加法计算。不过,BoBo老师发现KiKi在进行大于等于100的正整数的计算时,规则如下:
 * 1.只保留该数的最后两位,例如:对KiKi来说1234等价于34;
 * 2.如果计算结果大于等于 100, 那么KIKI也仅保留计算结果的最后两位,如果此两位中十位为0,则只保留个位。
 *
 * 例如:45+80 = 25
 *
 * 要求给定非负整数 a和 b,模拟KiKi的运算规则计算出 a+b 的值。
 * 数据范围: 0≤a,b≤2^31−1
 * 输入描述:
 * 一行,输入两个非负整数a和b,用一个空格分隔。(0 <= a,b<= 2^31-1)。
 * 输出描述:
 * 针对每组输入,输出按照KiKi的运算规则计算出 a+b 的值。
 * @author weijunfu<ijunfu @ qq.com>
 * @date 2022/03/16 10:16
 * @version 1.0.0
 *
 */

public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        long a = in.nextLong();
        long b = in.nextLong();

        BigInteger sum = BigInteger.valueOf(a).add(BigInteger.valueOf(b)).remainder(BigInteger.valueOf(100));

        System.out.println(sum);

        in.close();
    }
}

发表于 2022-03-16 10:25:09 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int sum = n + m;
        int ret = sum %= 100;
        System.out.println(ret);
    }
}

发表于 2021-12-04 23:59:20 回复(0)

来弄个最复杂的解法

import java.util.Scanner;
public class Main{
    Scanner sc=new Scanner(System.in);
    Integer in=0;//用于将String转化为int
    int sum=0;
    int su=0;
    //将输入的String 保留后两位 转化为int
      public int zhuan()
      {
        try { 
            String str=sc.next();
         if(str.length()>2)
         {
         String st=str.substring(str.length()-2);
         su=in.parseInt(st);
         }else
         {
             su=in.parseInt(str);
         }

        }catch(Exception x)
        {

        }

          //抛出int类型
        return su;

      }
    //接收两个转化了的int值 并进行计算
      public void jishuan(int a,int b)
      {
           sum=(a+b);
          if(sum>=100)
          {
              sum=sum%100;
          }
      }
      public void println()
      {
          System.out.println(sum);
      }
  public static void main(String[]arg)
  {
      Main ma=new Main();
      int one=ma.zhuan();
      int two=ma.zhuan();
      ma.jishuan(one,two);
      ma.println();
  }
}
发表于 2021-11-07 11:38:44 回复(0)
//一步到位
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        System.out.println((a + b) % 100);
    }
}



发表于 2021-10-17 09:37:49 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        String[] nums1 = new String[2];
        String[] nums = in.nextLine().split(" ");
        if (nums[0].length()>2 || nums[1].length()>2){
            nums1[0] = nums[0].substring(nums[0].length()-2);
            nums1[1] = nums[1].substring(nums[1].length()-2);
            Integer n0 = Integer.valueOf(nums1[0]);
            Integer n1 = Integer.valueOf(nums1[1]);
            String result = String.valueOf(n0+n1);
            if (result.length()>2){
                result = result.substring(result.length()-2);
            }
            System.out.println(Integer.valueOf(result));
        }
        else{
            Integer n0 = Integer.valueOf(nums[0]);
            Integer n1 = Integer.valueOf(nums[1]);
            String result = String.valueOf(n0+n1);
            if (result.length()>2){
                result = result.substring(result.length()-2);
            }
            System.out.println(Integer.valueOf(result));
        }
    }
}

发表于 2021-10-14 15:42:02 回复(0)
       import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str[] = sc.nextLine().split(" ");
            int sum = 0;
            for (int i = 0; i < str.length; i++) {
                int number = Integer.parseInt(str[i]);
                sum += number;
            }
            if (sum > 0 && sum <= 99) {
                System.out.println(sum);
            }  else {
                String add = String.valueOf(sum);
                String str1 = add.substring((add.length() - 2));
                int i = Integer.parseInt(str1);
                System.out.println(i);
            }
        }
    }还适用于任意个输入数
发表于 2021-10-01 20:23:59 回复(0)
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int num1 = in.nextInt();
        int num2 = in.nextInt();
        int num3 = (num1+num2)%100;
        System.out.println(num3);
    }
}

发表于 2021-09-02 10:29:32 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        int a=input.nextInt();
        int b=input.nextInt();
        int sum=a+b;
        if(sum<100) {
            System.out.print(sum);
        }else{//分理出后两位
            if(sum/10%10!=0) {//判断十位是否为零
                System.out.print(sum / 10 % 10);
            }
            System.out.print(sum%10);
        }
    }
}
发表于 2021-08-20 09:32:19 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        String str1 = sc.next();
        String str2 = sc.next();
        Integer integer1 = Integer.parseInt(str1);
        Integer integer2 = Integer.parseInt(str2);
        Integer sum = integer1+integer2;
        if(sum >=100){
        sum = sum%100;
            System.out.println(sum);
        }
        else
            System.out.println(sum); 
    }
}

发表于 2021-07-18 22:33:21 回复(0)
亲爱的你们,有没有被我恶心到?
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] s = br.readLine().split(" ");
        if (Integer.parseInt(String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                + Integer.parseInt(s[1].substring(s[0].length() - 2))).substring(String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                + Integer.parseInt(s[1].substring(s[0].length() - 2))).length() - 2, String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                + Integer.parseInt(s[1].substring(s[0].length() - 2))).length() - 1)) == 0) {
            System.out.println(String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                    + Integer.parseInt(s[1].substring(s[0].length() - 2))).substring(String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                    + Integer.parseInt(s[1].substring(s[0].length() - 2))).length() - 1));
        } else {
            System.out.println(String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                    + Integer.parseInt(s[1].substring(s[0].length() - 2))).substring(String.valueOf(Integer.parseInt(s[0].substring(s[0].length() - 2))
                    + Integer.parseInt(s[1].substring(s[0].length() - 2))).length() - 2));
        }
    }

发表于 2021-07-04 21:24:58 回复(1)
import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        Scanner scan=new Scanner(System.in);
        System.out.println((scan.nextInt()%100+scan.nextInt()%100)%100);
    }
}
一行代码就搞定了
发表于 2021-01-05 17:31:49 回复(0)
import java.util.Scanner;
public class Main{

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        if(a+b>=100){
            if((a+b)/10%10==0){
                System.out.print((a+b)%10);
            }else{
                System.out.print((a+b)%100);
            }            
        }else{
            System.out.println(a+b);
        }
    }
}

发表于 2020-10-26 17:49:44 回复(0)
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String s = bf.readLine();
        String[] s1 = s.split(" ");
        int a = Integer.valueOf(s1[0]);
        int b = Integer.valueOf(s1[1]);
        int c = a + b;
        if(c>=100) {   //如果计算结果大于100
            int length = Integer.toString(c).length();   //可能是三位数也可能是四位数或五位数。。。
            String two = Integer.toString(c).substring(length-2);   //只取最后两位
            char c1 = two.charAt(0);    //最后两位中在取前一位
            if(c1 == '0') {   //看最后两位中的前一位是否为0
                char c2 = two.charAt(1);   //如果为0的话就直接取各位
                c = c2-'0';   //把char转换为int
            }else{
                c = Integer.valueOf(two);   //如果倒数第二位不为0,直接返回后两位数
            }
        }
        System.out.println(c);
    }
}

发表于 2020-04-11 21:32:00 回复(0)
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int num =a+b;
        num = num%100;
        System.out.println(num);
}
}
大佬能讲下为什么不能通过编译么
发表于 2020-04-09 09:40:35 回复(0)