7-158 数的计算
我们要求找出具有下列性质数的个数(包含输入的正整数 n)。先输入一个正整数 n,然后对此正整数按照如下方法进行处理:
1.本身不作任何处理;
2.在它的左边加上一个正整数,但该正整数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加正整数为止。
例如输入n=6,
满足条件的数为:
6,16,26,126,36,136
输入格式:
1个正整数 n(n≤1000)。
输出格式:
1个整数,表示具有该性质数的个数。
输入样例:
在这里给出一组输入。例如:
6
输出样例:
在这里给出相应的输出。例如:
6
代码长度限制
16 KB
时间限制
1000 ms
内存限制
128 MB
#include<iostream>
using namespace std;
int arr[501];
int sum[501];
int n;
int main() {
cin >> n;
int t = n / 2;
for (int i = 1;i <= t;i++) {
arr[i] = sum[i / 2] + 1;
sum[i] = sum[i - 1] + arr[i];
}
cout << (sum[t] + 1) << endl;
return 0;
}
7-159 xrf的镜子
xrf有一个镜子,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,镜子会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定xrf只用项链的某一端接触镜子)。给定最终的项链,请编写程序输出xrf没使用镜子之前,最初的项链可能的最小长度。
输入格式:
只有一个字符串,由大写英文字母组成(字母数<=100000),表示最终的项链。
输出格式:
只有一个整数,表示xrf没使用镜子前,最初的项链可能的最小长度。
输入样例:
ABBAABBA
输出样例:
2
代码长度限制
16 KbJava (javac)时间限制3500 ms内存限制128 MBPytho