P1028 [NOIP2001 普及组] 数的计算 题目描述 我们要求找出具有下列性质数的个数(包含输入的正整数 nn)。 先输入一个正整数 nn(n \le 1000n≤1000),然后对此正整数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个正整数,但该正整数不能超过原数的一半; 加上数后,继续按此规则进行处理,直到不能再加正整数
先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该自然数不能超过原数的一半; 加上数后,继续按此规则进行处理,直到不能再加自然数为止. 输入输出格式 输入格式: 11个自然数n(n<=1000) 输出格式: 11个整数,表示具有该性质数的个数。 输入...
输出一行一个整数,表示合法的数列个数。 【输入样例】 6 【输出样例】 6 【代码详解】 #include <bits/stdc++.h> using namespace std; int main() { int n, a[1005]={0, 1, 2}; cin >> n; for (int i=3; i<=n; i++) { if (i%2==1) a[i] = a[i-1]; else a[i] = a[...
题解:P1028 [NOIP 2001 普及组] 数的计算 咕了好久…… 闲话 建议将网页放大至 125%。 计数题优先考虑 dp。 dp 状态即fifi表示出现一个ii后后面的答案。 转移公式易得为: fi=∑⌊i2⌋j=1+1fi=⌊2i⌋∑j=1+1 这里稍作解释,求和即为枚举接下来放什么,后面加一即为后面不加。
题目相关题目描述我们要求找出具有下列性质数的个数(包含输入的正整数 n)。 先输入一个正整数 n(n ≤1000),然后对此正整数按照如下方法进行处理: 不作任何处理;在它的左边加上一个正整数,但该正整数不能超过原数…
洛谷---P1028 [NOIP2001 普及组] 数的计算 数的计算题解集合 DFS 记忆化递归 DFS 把问题转化为对一颗多叉树的遍历,叶子的总数加上一个根节点的总数就是我们需要的结果 代码: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 #include<iostream>using namespace std;classSolution{public:intSumNum(int nu...
int record[maxN]; //记录每个数字可以拆分的个数 //返回数字num可以得到的个数 void get_num(int num){ if (num == 1) //边界条件 return ; // 最后这一种 if (record[num]!= -1){ res += record[num]; return ; //直接加完返回 ...
public class 数的计算 { static final int N = 1005; static int n; static int[] f = new int[N]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); // 默认值为-1,如果求过值则改变 ...
P1028 数的计算 题目链接:题目 题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理: 1.不作任何处理; 2.在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3.加上数后,继续按此规则进行处理,直到不能再加自然数...