• ECNU 2443 sunny的烦恼


    ECNU 2443 sunny的烦恼

    链接

    https://acm.ecnu.edu.cn/problem/2443

    题目

    单点时限: 2.0 sec

    内存限制: 256 MB

    这一天 心情很不好,因为 给了 定义一个函数 f(a) 并让他求值,a 为非负整数,如果 a<=9 那么fa=a , 如果 a>10,那么fa=f(的每一位上的数字之和) 。

    例如 ,问题就是, 想了很久不出来,于是他请求你编程帮助他

    输入格式
    第一行有一个数 t,表示接下来有多少组数据,每组数据只有一个数

    输出格式
    对于每组数据,输出 fa的值

    样例
    input
    3
    3
    13
    18
    output
    3
    4
    9

    思路

    范围非常大,所以用字符串输入(但是测试数据贼水),如果a在十以内,直接输出值,不然就计算各位数的和即可。

    代码

      public static int f(String n) {
    
        if (n.length() == 1) {
          return Integer.valueOf(n);
        } else {
          int temp = 0;
          for (int i = 0; i < n.length(); i++) {
            temp += n.charAt(i) - '0';
          }
          String ans = Integer.toString(temp);
          return f(ans);
        }
      }
    
      public static void fun() {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
          String str = sc.next();
          int ans = f(str);
          System.out.println(ans);
        }
      }
    
  • 相关阅读:
    Mysql 三大特性详解
    MySQL Innodb日志机制深入分析
    Bootstrap学习地址
    Java【锁】
    Java【tomcat】配置文件
    nginx配置文件详解【nginx.conf】
    Sqlserver2008[索引]
    网络知识
    RestClient火狐接口测试地址
    java基础1JDK各大版本下载地址
  • 原文地址:https://www.cnblogs.com/blogxjc/p/14358752.html
Copyright © 2020-2023  润新知