落谷P1028 数的计算

Posted qzhc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了落谷P1028 数的计算相关的知识,希望对你有一定的参考价值。

题目描述

我们要求找出具有下列性质数的个数(包含输入的自然数nn):

先输入一个自然数nn(n le 1000n1000),然后对此自然数按照如下方法进行处理:

  1. 不作任何处理;

  2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;

  3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.

输入格式

11个自然数nn(n le 1000n1000)

输出格式

11个整数,表示具有该性质数的个数。

输入输出样例

输入 #1
6
输出 #1
6

说明/提示

满足条件的数为

6,16,26,126,36,136

 

 

 

仅为督促自己。我写的这个超时,待改。

递归

拿输入8举例:

我的代码分析:

值  8   1,8    2,8   1,2,8   3,8   1,3,8     4,8     1,4,8     2,4,8    1,2,4,8

x         1     2       3     4        5        6         7   8           9           10

import java.util.Scanner;
public class Main {
    static int x = 1;
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        if (num == 0){
            System.out.println(0);
            return;
        }
        if (num <=1000)
            System.out.println(sum(num));
    }
    static int sum(int num){
        if (num >1){
            for (int i = 1; i <= num/2; i++) {
                x++;
                sum(i);
            }
        }
        return x;
    }
}

  

以上是关于落谷P1028 数的计算的主要内容,如果未能解决你的问题,请参考以下文章

luogu P1028 数的计算 x

P1028 数的计算

P1028 数的计算

P1028 [NOIP2001 普及组] 数的计算

P1028 数的计算

P1028 数的计算