UVa 202 - Repeating Decimals
来源:互联网 发布:加工中心圆怎么编程 编辑:程序博客网 时间:2024/06/12 22:51
输入整数a和b(0≤a≤3000,1≤b≤3000),输出a/b的循环小数表示以及循环节长度。例如a=5,b=43,小数表示为0.(116279069767441860465),循环节长度为21。
#include<stdio.h>#include<string.h>int str[10000];int sh[10000];int gcd(int a,int b){if(b == 0) return a;return gcd(b,a%b);}int main(){int a,b,r,d,m,n,flag,start,end; while(scanf("%d%d",&a,&b)!=EOF) { r = a/b; d = gcd(a,b); m = a/d; n = b/d; sh[0] = m%n; int i = 0; flag = 0; printf("%d/%d = %d.",a,b,r); while(!flag) { int c = sh[i]*10; str[i] = c/n; sh[++i] = c%n; for(int j=0; j < i; j++) { if(sh[i] == sh[j]) { start = j; end = i; flag = 1; break; } } } for(int i=0;i < start;i++) printf("%d",str[i]); printf("("); if(end - start<=50) { for(int i = start; i < end; i++) printf("%d",str[i]); } else { for(int i = start ; i < start+50; i++) printf("%d",str[i]); printf("..."); } printf(")\n"); printf(" %d = number of digits in repeating cycle\n\n",end-start); } return 0;}
0 0
- 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
- UVa 202 - Repeating Decimals
- UVa 202, Repeating Decimals
- UVa - 10048 - Audiophobia ( Floyd 变形 )
- 将 FOREIGN KEY 约束 'FK_dbo.Employees_dbo.Admins_AdminID' 引入表 'Employees' 可能会导致循环或多重级联路径。请指定 ON DELETE
- 能量函数在神经网络中的含义
- 堆(heap)和栈(stack)的区别
- 设计模式之代理模式
- UVa 202 - Repeating Decimals
- 本地maven环境配置
- android Fragment动态加载的使用详解
- 2016年12月19日学习总结----C语言程序优化
- 数据结构之单链表的简单操作
- CH9,P159,闰年检测
- Codeforces Round #386 (Div. 2) C
- 贪心算法_作业调度问题
- python学习笔记(三)-表单处理