练习题之数列和神奇数
2017-09-08 20:58
204 查看
题1:形如1,2,2,3,3,3,4,
4000
4,4,4,5,5,5,5,5,.....的样式,当输入第n项时,输出该项的数值。 如输入n=169,输出 18
题2:输出l,r范围内的神奇数的个数,神奇数是 当把一个数分解成一个个数字时,分成两组的和相等,如242,2+2=4
734,7=3+4
输入 1 50
输出 4
两题的都是超时,本地可以运行。
4000
4,4,4,5,5,5,5,5,.....的样式,当输入第n项时,输出该项的数值。 如输入n=169,输出 18
#include<iostream> #include<vector> using namespace std; int main() { /* vector<int> vec; int n; cin>>n; for(int i=1;i<=n;++i) { for(int j=1;j<=i;++j) vec.push_back(i); } cout<<vec[n-1];*/ int n=0; int i=0; cin>>n; for(int i=0;;++i) if(((1+i)*i/2/n==1)) { cout<<i; break; } }
题2:输出l,r范围内的神奇数的个数,神奇数是 当把一个数分解成一个个数字时,分成两组的和相等,如242,2+2=4
734,7=3+4
输入 1 50
输出 4
#include<iostream> #include<algorithm> #include<vector> #include<sstream> #include<string> #include <math.h> using namespace std; bool diff(vector<int>& vec)//判断数组里的数值能不能组成和相等的两个组 { int len = vec.size(); int sum = 0; for (int i = 0; i < len; ++i) { sum += vec[i]; } vector<vector<int>> dp; for (int i = 0; i <= len; i++) { vector<int>tmp; for (int j = 0; j <= sum / 2; ++j) { tmp.push_back(0); } dp.push_back(tmp); } for (int i = 1; i <= len; ++i) { for (int j = 1; j <= sum / 2; ++j) { if(j>=vec[i-1])dp[i][j] = max(dp[i-1][j],dp[i-1][j-vec[i-1]]+vec[i-1]); else dp[i][j] = dp[i - 1][j]; } } if(sum - 2*dp[len][sum / 2]==0) return true; else return false; } string num2str(long long i)//将整数转化为字符串 { stringstream ss; ss<<i; return ss.str(); } int main() { long long i=0; int sum=0; long long l,r; cin>>l>>r; if(l>=1&&r<=pow(10,9)&&(r-l)>=0&&(r-l)<=pow(10,6)) { for(long long i=l;i<r;++i) { string str; str=num2str(i); vector<int> vec; for(long long i=0;i<str.length();++i) vec.push_back(str[i]-'0');//将字符串的每个字符如vec if(diff(vec)==true) sum++; } cout<<sum; } else return 0; }
两题的都是超时,本地可以运行。
相关文章推荐
- 数列特征JAVA(蓝桥杯练习题)
- [华为机试练习题]51.数列求和
- “蓝桥杯”练习题中《基础练习 数列特征》的错误
- PAT乙级练习题B1030. 完美数列
- 菲波纳契神奇数列
- 2014编程之美初赛第二场—神奇的数列(2014.4.20)
- [华为机试练习题]51.数列求和
- 打印出如图这样的有规律的神奇数列
- [华为机试练习题]52.Fibonacci数列的计算和转换
- 蓝桥杯练习题之数列特征
- FZU 1538 神奇的数列
- 神奇的兔子数列
- 编程之美初赛第二场 神奇的数列
- 2014编程之美:神奇的数列
- 【PHP】从数列1,2,3.......n 中随意取几个数,使其和等于m(一段神奇的代码)
- 编程之美_神奇的数列
- 微软编程之美初赛第二场第一题神奇的数列
- 神奇数列
- 编程之美初赛第二场 神奇的数列 + 字符串压缩