// static void Main(string[] args)         { const double PI = 3.14;             const int BAR_UNIT_PRICE = 25;             const int BRICK_UNIT_PRICE = 85;             //输入             int a, b;            Console.Write("请输入泳池半径:");        …
作业1输入圆柱体的底面半径和高求体积             static void Main(string[] args)         {               //输入圆柱体的底面半径,高.求体积?             int r, h;             double v;             //输入             Console.Write("请输入圆柱底面半径:");             string s1 = Console.Read…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3977 题意:求斐波那契数列模p的循环节长度,注意p最大是2*10^9,但是它的素因子小于10^6. 分析过程:首先我们知道fib数列模p如果出现了连续的1,0就意味这着开始循环了,因为接下来的项就是1 1 2 3 5等等. 那么很显然如果在第k位第一次出现了1,0,那么对于以后的1,0都可以表示为k*m. 那么,现在我们考虑如果fib数列模p在第pos位第一次出现了0,那么设0前面的那个数为a,则接下来…
题意很简单,就是给出p,q,求p/q的循环节长度. 由循环小数的循环部分的值等于等比数列求和的值S,列公式得到最简分数分母的值.最终得10^x%q==1(其中q为经过modify之后的值).搞清这些之后,套kuangbin大神的BSGS模板就可以了. 题目链接: http://202.117.120.247/problem.php?id=1077 #include<bits/stdc++.h> using namespace std; //baby_step giant_step // a^x…
1077: 循环节长度 时间限制: 1 Sec  内存限制: 128 MB提交: 103  解决: 37[提交][状态][讨论版] 题目描述 数一有很多的有理数,然而有的是有限小数,如1/2=0.5,1/5=0.2,这些都很好写,但是对于无限循环小数,数一就发愁了,怎么写得完啊.于是数一就想让你告诉他这些有理数的循环节长度是多少. 输入 多组数据,每组数据是两个整数p,q(0<=p<10^9,0<q<=10^9),表示一个有理数的分子与分母. 输出 若为有限小数,则输出0,若为无限…
最长的循环节 思路: 我们尝试一种最简单的方法,模拟: 如何模拟呢? 每个数,对它模k取余,如果它的余数没有出现过,就补0继续模: 所以,当一个余数出现两次时,当前的长度即为循环节长度: 来,上代码: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; ,k=,d,p=,flag; ]; int main() {…
/* * 求1/i的循环节长度的最大值,i<=n */ ; int res[MAXN]; // 循环节长度 int main() { memset(res, , sizeof(res)); int i, temp, j, n; ; temp <= ; temp++) { i = temp; == ) { i /= ; } == ) { i /= ; } n = ; ; j <= i; j++) { n *= ; n %= i; ) { res[temp] = j; break; } }…
循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153- 其循环节为[846153] 共有6位. 下面的方法,可以求出循环节的长度. 请仔细阅读代码,并填写划线部分缺少的代码. public static int f(int n, int m) { n = n % m; Vector v = new Vector(); for(;;) { v.add(n); n *= 10; n = n % m; if(n==0) retu…
循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位. 下面的方法,可以求出循环节的长度. 请仔细阅读代码,并填写划线部分缺少的代码. public static int f(int n, int m) { n = n % m; Vector v = new Vector(); for(;;) { v.add(n); n *= 10; n = n % m; if(n==0)…
循环小数 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 我们可爱的 c小加 近段儿正在潜心研究数学,当他学习到循环小数这一部分时不是太明白循环体是什么意思(比如说3.23232323的循环体是23.2323.23232323),假设我们现在的循环小数都是严格循环的并且有限的,也就是说不出现2.16666666(循环体为6,长度为1)的情况,只有123123这样的循环出现.给他一个小数,他需要找出最小循环体的长度.循环体和循环的次数,请你帮他解决这个问题.  …