UVa 202 - Repeating Decimals(AC)
来源:互联网 发布:智能语音翻译软件 编辑:程序博客网 时间:2024/06/01 10:35
题目网址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=138
解题的话模拟除法,出现两个相同的模(%b)的时候就出现了一个cycle。
#include <iostream>#include <cstring>#include <cstdlib>#include <string>#include <cstdio>using namespace std;int mod[3001]; // 记录每次对b取模之后的值的位置int main(){int a, b;while (cin >> a >> b){for (int i = 0; i < 3001; i++)mod[i]=-1;string ans = "";cout << a << '/' << b << " = ";int div = a / b;cout << div;cout << '.';int subs = a;int first = -1, len = 1;char ch = ' ';while (1){subs %= b;if(mod[subs]==-1) mod[subs]=ans.size(); // 第一次出现某个 模 值else // 出现cycle{len=ans.size()-mod[subs];// 记录cycle的长度ch=div+48;ans+=ch;int i;for( i= 1;i<=ans.size();i++){if(mod[subs]==i-1) {cout<<'(';break;}if(ans[i]>='0'&&ans[i]<='9') cout<<ans[i];}int j=0;for( i ; i<=ans.size()&&j<50;i++){if(ans[i]>='0'&&ans[i]<='9') cout<<ans[i],j++;}if(len>50) cout<<"..."; //cycle长度超过50就要输出 ...了.cout<<')'<<endl;break;}ch=div+48;ans += ch;subs *= 10;div = subs / b;}cout << " " << len << " = number of digits in repeating cycle\n";}//system("pause");return 0;}
0 0
- UVa 202 - Repeating Decimals(AC)
- Uva-202 - Repeating Decimals-WA to AC
- UVa 202 - Repeating Decimals
- UVa 202 - Repeating Decimals
- UVa 202 - Repeating Decimals
- UVa 202 Repeating Decimals
- Uva 202 Repeating Decimals
- UVA - 202 Repeating Decimals
- UVa 202 Repeating Decimals
- UVa-202 - Repeating Decimals
- UVa 202 Repeating Decimals
- UVa 202 Repeating Decimals
- UVA - 202 Repeating Decimals
- Uva - 202 - Repeating Decimals
- UVA - 202 Repeating Decimals
- [UVA 202]Repeating Decimals
- UVa 202 Repeating Decimals
- uva 202 Repeating Decimals
- a mirror of Android build ENV setup flow
- 去掉字符串中连续出现k个0的子串
- 电子书5
- SQL Server转换成MySQL
- (已翻译)caffe官方例程之hdf5_classification(Brewing Logistic Regression then Going Deeper)
- UVa 202 - Repeating Decimals(AC)
- Linux C高级编程——网络编程之包裹函数
- 俄罗斯方块游戏的控制面板和消息接收框界面的实现
- 跟我学AngularJs:AngularJs入门及第一个实例
- Tcl -- unset
- TCP三次握手与释放链接
- 《软件架构设计》学习笔记--8--6大步骤4:概念架构设计
- 关于集成支付宝SDK的开发
- 第四章项目5-递归求n的阶乘(1)