落谷P1028 数的计算
Posted qzhc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了落谷P1028 数的计算相关的知识,希望对你有一定的参考价值。
题目描述
我们要求找出具有下列性质数的个数(包含输入的自然数nn):
先输入一个自然数nn(n le 1000n≤1000),然后对此自然数按照如下方法进行处理:
-
不作任何处理;
-
在它的左边加上一个自然数,但该自然数不能超过原数的一半;
-
加上数后,继续按此规则进行处理,直到不能再加自然数为止.
输入格式
11个自然数nn(n le 1000n≤1000)
输出格式
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 数的计算的主要内容,如果未能解决你的问题,请参考以下文章