P1028 数的计算
Posted hsjj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1028 数的计算相关的知识,希望对你有一定的参考价值。
断更了好久,现在补上...
题目描述
我们要求找出具有下列性质数的个数(包含输入的自然数nnn):
先输入一个自然数nnn(n≤1000n \le 1000n≤1000),然后对此自然数按照如下方法进行处理:
-
不作任何处理;
-
在它的左边加上一个自然数,但该自然数不能超过原数的一半;
-
加上数后,继续按此规则进行处理,直到不能再加自然数为止.
输入输出格式
输入格式:
111个自然数nnn(n≤1000n \le 1000n≤1000)
输出格式:
111个整数,表示具有该性质数的个数。
这道题比较困难,先上代码:
1 #include<iostream> 2 //F[I]=F[1]+F[2]+F[3]+F[4]+...+F[I/2] 3 int main() 4 5 using namespace std; 6 int n; 7 cin >> n; 8 int sum[1001] = ; 9 sum[1] = 1; 10 sum[2] = 2; 11 for (int i = 3; i <= n; i++) 12 for (int j = 1; j <= i / 2; j++) 13 sum[i] += sum[j]; 14 15 sum[i]++; 16 17 cout << sum[n]; 18 return 0; 19
第二行的公式是推出来的,这道题不容易,当公式背下来吧。
以上是关于P1028 数的计算的主要内容,如果未能解决你的问题,请参考以下文章