📄 zy2_big_problem.cpp
字号:
#include "cyio.h"
#include "BigNum_c.h"
class BigProblem{
public:
ifstream in;
ofstream out;
vector<long> m;
BigProblem(char* inf,char* outf){
in.open(inf);
out.open(outf,ios::out);
}
void run(){
int k,j;
while(!in.eof()){
string num;
getline(in,num);
BigNum n(num);
cout<<"n:"<<n<<endl;
m=vector<long>(n.size(),(long)0);
BigNum p((long)0);
BigNum c((long)3);
BigNum zero((long)0);
BigNum one((long)1);
BigNum two((long)2);
BigNum sum((long)0);
BigNum ten((long)10);
BigNum mid,dis;
BigNum b,e;
b=zero;
mid=n/two;
p=mid;
e=n;
BigNum r1,r2,r3,r;
cout<<"["<<p<<"]"<<endl;
while(1){
// cout<<"p: "<<p<<endl;
r2=p*p;
r1=r2*p;
r3=p*c;
r=r1+r2+r3;
//cout<<" r1:"<<r1<<" r2:"<<r2<<" r3:"<<r3<<endl;
// cout<<" r:"<<r<<endl;
r=p*p*p+p*p+p*c;
dis=e-b;
mid=dis/two;
cout<<"b:"<<b<<endl;;
cout<<"e:"<<e<<endl;
cout<<"mid:"<<mid<<endl;
cout<<"p : "<<p<<endl;
cout<<"r :"<<r<<endl;
cout<<"-----------"<<endl;
if (dis==one) {
p=e;
break;
}
if (r<n) {
//sum=sum+one;
b=p;
p=b+mid;
}else {
e=p;
p=b+mid;
}
}
cout<<"m : "<<m<<endl;
cout<<" sum: "<<sum<<endl;
cout<<" bMax : "<<p<<endl;
BigNum x1,x2;
x1=vector<int>(1,0);
for (k=0;k<p.size();k++){
if (k!=p.size()-1){
x2.a=vector<int>(k+1,9);
x2=x2-x1;
//if (k==0) x2=x2+one;
out<<"m= "<<k+1<<" :"<<x2<<endl;
x1=x2;
}
else{
x1=p-x1;
out<<"m= "<<k+1<<" :"<<x1<<endl;
//out<<"m= "<<k<<" :"<<p-x1<<endl;
}
}
out<<"p= "<<p<<endl;
}
out.close();
}
};
int main(){
BigProblem bp("numberX_ input.txt","numberX_out.txt");
bp.run();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -