UVa 202 - Repeating Decimals
2016-03-22 00:13
411 查看
给你两个数,问你他们相除是多少,有无限循环就把循环体括号括起来
模拟除法运算
把每一次的被除数记下,当有被除数相同时第一个循环就在他们之间。
要注意50个数之后要省略号...
每一次输出之后多打一个回车...
模拟除法运算
把每一次的被除数记下,当有被除数相同时第一个循环就在他们之间。
要注意50个数之后要省略号...
每一次输出之后多打一个回车...
#include <iostream> #include <cstring> using namespace std; int a,b; int flag[30000];//记录该被除数出现的位置 int ans[10000],num,cnt; void fuc() { memset(flag,0,sizeof(flag)); num=0; while(a>0) { if(flag[a]>0) break; flag[a]=num; ans[num]=a/b; a%=b; a*=10; num++; } } int main() { while(cin>>a>>b) { printf("%d/%d = ",a,b); fuc(); printf("%d.",ans[0]);//整数位 if(a>0) { for(int i=1;i<flag[a];i++) cout<<ans[i]; //循环体前 cout<<'('; for(int i=flag[a];i<num&&i<=50;i++) { cout<<ans[i]; } if(num-flag[a]>=50) cout<<"..."; cout<<')'<<endl; printf(" %d = number of digits in repeating cycle\n\n",num-flag[a]); } else { for(int i=1;i<num;i++) cout<<ans[i]; cout<<"(0)\n"; printf(" 1 = number of digits in repeating cycle\n\n"); } } }
相关文章推荐
- linux command ---1
- service生命周期
- 设计模式基础
- 不兼容模式的协调--适配器模式(Adapter)
- Python学习(一):python3基础
- HTML
- 用Tensorflow基于Deep Q Learning DQN 玩Flappy Bird
- 29. Divide Two Integers
- 逆波兰计算器加强版:多项式
- R语言发email
- BZOJ-1010 玩具装箱toy (斜率优化)
- Oracle Library Cache
- Library cachelatches gone in Oracle 11g
- 20160322-Java一些漏洞点的笔记
- [Java 内存]Java内存组成
- Settings for Oracle Library Cache Reload andLibrary Cache Hit Ratios
- understanding the Oracle Library Cache Pin WaitEvent
- 欢迎使用CSDN-markdown编辑器
- mac下使用github
- 根据IP将列表分组