【有奖】NOIP普及组模拟赛题解(T1角谷猜想)
2016-10-17 21:13
295 查看
这题so easy!简单的高精即可AC!
#include <iostream>
#include <string> //字符串
using namespace std;
string a1;
int a[1001],c[1001],s=0,x=0;
int pd()
{
if(a[1]!=1)return 0;
for(int i=2;i<=1000;i++)
if(a[i]!=0)return 0;
return 1;
} //判断这个高精数字是否为1,如果不为1则返回0,为1则返回1
int main()
{
cin>>a1;
for(int i=0;i<a1.size();i++)
a[a1.size()-i]=a1[i]-48; //高精中的字符串处理
while(1==1)
{
if(pd()==1)break;
if(a[1]%2==0)
{
for(int i=1000;i>=1;i--)
{
c[i]=(x*10+a[i])/2;
x=(x*10+a[i])%2;
}
for(int i=1;i<=1000;i++)
a[i]=c[i],c[i]=0;
x=0;
}//当这个数为偶数的时候,做除法处理
else if(a[1]%2==1)
{
for(int i=1;i<=1000;i++)
{
a[i]=a[i]*3+x;
if(a[i]>=10){x=a[i]/10;a[i]%=10;}
else x=0;
}
x=1;a[1]++;
while(a[x]==10)
{
a[x+1]++;
a[x]=0;
x++;
}
x=0;
}//否则做乘法处理
s++; //操作次数+1
}
cout<<s<<endl; //输出
return 0;
}
#include <iostream>
#include <string> //字符串
using namespace std;
string a1;
int a[1001],c[1001],s=0,x=0;
int pd()
{
if(a[1]!=1)return 0;
for(int i=2;i<=1000;i++)
if(a[i]!=0)return 0;
return 1;
} //判断这个高精数字是否为1,如果不为1则返回0,为1则返回1
int main()
{
cin>>a1;
for(int i=0;i<a1.size();i++)
a[a1.size()-i]=a1[i]-48; //高精中的字符串处理
while(1==1)
{
if(pd()==1)break;
if(a[1]%2==0)
{
for(int i=1000;i>=1;i--)
{
c[i]=(x*10+a[i])/2;
x=(x*10+a[i])%2;
}
for(int i=1;i<=1000;i++)
a[i]=c[i],c[i]=0;
x=0;
}//当这个数为偶数的时候,做除法处理
else if(a[1]%2==1)
{
for(int i=1;i<=1000;i++)
{
a[i]=a[i]*3+x;
if(a[i]>=10){x=a[i]/10;a[i]%=10;}
else x=0;
}
x=1;a[1]++;
while(a[x]==10)
{
a[x+1]++;
a[x]=0;
x++;
}
x=0;
}//否则做乘法处理
s++; //操作次数+1
}
cout<<s<<endl; //输出
return 0;
}
相关文章推荐
- 【NOIP普及组】2016模拟考试(10.29)——摆花
- NOIP2011-普及组复赛模拟试题-第二题-买票
- 2016.08.19上午【初中部 NOIP普及组 】模拟
- NOIP2016年普及组模拟考试(9.3) 5.母亲的牛奶
- 2016.10.05【初中部 NOIP普及组 】模拟赛题解
- 【2014.8.17NOIP普及组模拟】公牛数学
- 【NOIP2018普及级别模拟】牛车
- noip1996 乘法运算 - 普及组 (模拟)
- NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军
- 2016.08.19 初中部 NOIP普及组 模拟赛
- 2016.08.19上午【初中部 NOIP普及组 】模拟赛题解
- 2016.10.05【初中部 NOIP普及组 】模拟赛
- noip1996 格子位置 - 普及组 (模拟)
- 【贪心】CODE[VS] 1063 NOIP2004普及组-合并果子 (刷题记录(模拟+优先队列))
- NOIP2010-普及组复赛模拟试题-第一题-手机
- 2016.08.18【初中部 NOIP普及组 】模拟赛题解
- 2016.08.19上午【初中部 NOIP普及组 】模拟赛题解
- 【NOIP普及组模拟】采药
- 2016.10.05【初中部 NOIP普及组 】模拟赛
- 【2016.10.6NOIP普及模拟】Stairs