UVa202】的更多相关文章

书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 都是<算法竞赛入门经典(第二版)>的题目,标题上没写(第二版) 题目:算法竞赛入门经典 3-7/UVa1368:DNA Consensus String 代码: //UVa1368 - DNA Consensus String #include<iostream> using namespace std; #define MAX_M 52 #define MAX_N 1005 char DNA[MAX…
题意: 给出两个数n,m,0<=n,m<=3000,输出n/m的循环小数表示以及循环节长度. 思路: 设立一个r[]数组记录循环小数,u[]记录每次的count,用于标记,小数计算可用 r[i]=n*10/m;n=n*10%10 直到n为0或u[n]!=0(找到循环节) 涉及到两个知识点:n/m的余数在0~m-1之间: 抽屉原理:循环次数最多不超过m+1次 具体见代码. //求循环节 #include<cstdio> #include<cstring> #define…
输入整数a和b(0<=a<=3000,1<=b<=3000),输出a/b的循环小数表示以及循环节长度. 例如,a=5,b=43,小数表示为0.(116279069767441860465),循环字节长度为21 这个题,忘了怎样使a/b的结果保留多位小数!!! 具体方法为计算得出其多位小数(位数要足够大),再判断其周期,周期不会超过分母就在小于范围内的周期一个一个判断即可. 注意,该题循环不一定是从小数点后一位数开始,可能从之后才开始循环 应该想到竖式,那就是求小数点后n位的方法! …
#include <stdio.h>#include <map>using namespace std; int main(){    int a, b, c, q, r, places;    map<int, int> rmap;    pair<map<int, int>::iterator, bool> pr;    int qarr[50];    while (scanf("%d %d", &a, &…
主要思路: 通过模拟除法运算过程,来判断循环节结束的位置,不断将余数*10再对除数取余得到新的余数,并记录下来,知道出现的余数之前出现过,此时小数开始循环. 例如: 假设   ->     a 是商  b是余数 (1/7) ->   (1)  a=1/7=0, b=1%7=; (2)  a=(b*10)/7=1  ,  b=(b*10)%7=3; (3)  a=(b*10)/7=4  ,  b=(b*10)%7=2; (4)  a=(b*10)/7=2  ,  b=(b*10)%7=6; (5…
一:题目 输入整数a和b(<=a<=,<=b<=),输出a/b的循环小数表示以及循环节长度. 例如,a=,b=,小数表示为0.(),循环字节长度为21 当循环节长度超过50时,后面使用...代替,不进行输出后面部分 (一)样例输入 (二)样例输出 / = ) = number of digits in repeating cycle / = .() = number of digits in repeating cycle / = .(...) = number of digits…
刚刚开始写的适合感觉是转换成字符然后开始遍历一遍,后面发现各种不行,就回去看了看题目,重新构思,写了好久还是WA,最后只能看下大神的操作(我太菜了). 先简单梳理下题目意思:首先给出两个数,然后这两个数相除,求相除的结果的“循环节”和“循环节长度”. 一开始没看清楚是循环节,以为是小数点后面的数,然后就WA了. 循环节的意思就是    无限循环小数的 周期的那一段 举个栗子:a/b=3.12345141592614159261415926 14…………分析一下,可以看出这一个无理数的循环周期,拆…
uva202: https://blog.csdn.net/lecholin/article/details/70163148 uva1589: https://blog.csdn.net/qq_42191950/article/details/80945685 https://www.jianshu.com/p/a44d0662a070 uva1339: https://blog.csdn.net/karry_zzj/article/details/72763986 uva489: https…
原题链接:https://vjudge.net/problem/UVA-202 题意:求一个数除以一个数商,如果有重复的数字(循环小数),输出,如果没有,输出前50位. 题解:这个题一开始考虑的是一个一个判,但太麻烦,复杂度太高,于是转化思路,如果是循环小数,那么余数与之前的相同,那么只需要统计余数是否相同,及其所出现的位置 ac代码 #include<iostream>#include<cstdio>#include<cstring>using namespace s…