余数

从零开始学java(12)

拜拜、爱过 提交于 2020-02-11 23:31:46
Day2 今天了解一下一些常用的命令与基础知识,并且学会使用IDE(Integrated Development Environment集成开发环境),以eclipse为例。 1.DOS常见的命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录及其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cd abcdef.ghi进入该目录。 cd\ 退回到根目录。 cd…退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文件夹。) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 清除屏幕上所有的显示内容,只留下CLS命令前的路径 5 copy copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 6

蓝桥杯入门练习begin-4

穿精又带淫゛_ 提交于 2020-02-11 06:53:52
Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。 【源代码】 # include <stdio.h> # define MAX 1000000 int main ( ) { int n , i , f3 ; int f1 = 1 , f2 = 1 ; scanf ( "%d" , & n ) ; for ( i = 2 ; i < n ; i ++ ) { f3 = ( f1 + f2 ) % 10007 ; f1 = f2 ; f2 = f3 ; } printf ( "%d\n" , f3 ) ; return 0 ; } 来源: CSDN 作者: 不甘心只是个小菜鸟 链接: https://blog.csdn.net

B1022 D进制的A+B

三世轮回 提交于 2020-02-10 18:41:27
输入两个非负 10 进制整数 A 和 B ( ≤),输出 A + B 的 D ( 1)进制数。 输入格式: 输入在一行中依次给出 3 个整数 A、 B 和 D。 输出格式: 输出 A + B 的 D 进制数。 输入样例: 123 456 8 输出样例: 1103 思路1: 用一个字符串str存储除d之后的余数,使用字符串的拼接,注意将余数转换成字符串格式;将字符串倒序输出。 思路2: 将余数存进动态数组,然后逆序输出。 1 #include <iostream> 2 #include <string> 3 #include <cctype> 4 using namespace std; 5 int main() { 6 long long a,b,c; 7 int d; 8 string e=""; 9 cin >> a >> b >> d; 10 c = a + b; 11 while (c != 0) { 12 e += to_string(c % d); 13 c = c / d; 14 } 15 if (e.size() == 0)cout << "0"; 16 else 17 for (int i = e.size() - 1; i >= 0; i--) { 18 cout << e[i]; 19 } 20 return 0; 21 } 来源: https://www

检错与纠错码

自古美人都是妖i 提交于 2020-02-09 07:32:03
1. 奇偶校验法:   奇校验,数值部分各个位上数的和与校验位的和应是一个奇数,即,1的个数为奇数个,包括校验位。常用于同步传输。   偶校验,包括校验位有偶数个1,常用于异步传输或低速传输。   通常是在每个字节后增加一个附加位(奇偶校验位),即每个字节发送九位数据。   缺点,数位的错误以及偶数个位的错误检测不出来,无法定位错误。   例:      2. 循环冗余校验法:   循环冗余( CRC )检验:数据M后面添加供差错检验用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。【模2运算求n:M÷P=Q…R,n即R】,校验时除以P(模2运算), 余数R为0,则接受,不为0,则判定这个帧有差错 。   具体:   在发送端,先把数据划分为组,假定每个组k个比特。现假定待传送的数据M=101001(k=6)。CRC运算就是在数据M后面添加供差错检验用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位。在要发送的数据后面加n位的冗余码,虽然增加了数据传送的开销,但却可以进行差错检测。   这n位冗余码可以通过下面的方法得出。用二进制的模2运算进行2^n乘M的运算,即在M后面添加n个0。得到k+n位的数除以收发双方事先商定的长度为(n+1)位的除数p(p也可叫做 生成多项式G ,没固定),得出商是Q,余数是R(n位,比p少一位)。 例:      M=101001

java劫富济贫之进制换算

青春壹個敷衍的年華 提交于 2020-02-07 23:49:34
在计算机的世界是只有0和1的数据存在的,它们只会识别二进制的数,所有的数都是换算成二进制的形式来使用的。人类是使用十进制的,并不方便使用二进制所以,就有了进制换算的问题出现。分别有二进制、八进制、十进制、十六进制。 我们先将把化为二进制的形式 十进制转二进制 我们通常用短除法来解决这类问题,因为二进制是逢二进一的所以用十进制的数短除二求每一步的余数,方法就是除2取余,逆序排列。至于为什么是余数呢?因为除得的余数就是二进制每位的1或0,就代表了每一位的数字。 具体做法是: 用2整除十进制整数,可以得到一个商和余数; 再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止; 然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。 有点不美观^^原谅我 至于八进制转二进制就和十进制转二进制是一样的了,简单的八或十进制转换见下对照表 至于十六进制转二进制见下表,相信以你的只会是小kiss了 接下来我们看二进制如何转十进制 二进制转十进制 就是从右到左的顺序,依次用2*1或0^0,次方从0开始从左到右依次加1。 从上图可以看出有很多0所以可以进一步简化,0位都可以不加入计算。 直接上图 凉菜没有直接上 二进制转八进制 因为2^3=8所以分成三位一部分计算,不够八位在前面补0补够八位再分。 二进制转十六进制也是同样的道理 二进制转十六进制

Fibonacci数列

随声附和 提交于 2020-02-05 00:21:40
Fibonacci数列 题目描述: Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 说明 :在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 数据规模与约定 1 <= n <= 1,000,000。 一般方法 #include<iostream> using namespace std; int main() { int n,a1,a2,p; cin>>n; a1=a2=1; for(int i=2;i<n;i++) { p=a2; a2=(a1+a2)%10007; a1=p; } cout<<a2; return 0; } 使用递归: 使用递归时可能出现计算时间和内存超出规定。 #include<iostream> using namespace std; int fib(int n) { if(n==1||n==2) return 1; else return fib(n-1)+fib(n-2); } int main() { int

原码与补码的加减交替法的区别及例题分析

只愿长相守 提交于 2020-02-03 09:18:02
原码加减交替法 (1)商的符号由参与计算的两数的符号通过异或运算获得; (2)参加运算的两个数是绝对值的补码; (3)原码上商的原则:若余数为正,则商“1”;若余数为负,则商“0”; (4)原码除法的第一步做减法,即被除数减除数; 简而言之 首先,将两个数转换成二进制原码(若为十进制的话);然后求原码的绝对值的补码;接着将求得的补码进行减法操作,即加上补码的绝对值的负数;最后按着上商的原则进行计算,直至商的位数与除数或被除数的位数相同。 补码加减交替法 (1)商的符号在求值的过程中自然形成; (2)参加运算的两个数是补码; (3)补码上商的原则:若余数与除数同号,则商“1”;若余数与除数异号,则商“0”; (4)补码除法的第一步要根据被除数与除数的符号决定:若两数同号,则做减法;若两数异号,则做加法; 例题分析 用原码陈列除法器计算x÷y,x=11000,y=-11111 解:|x|补=x补=011000,y补=100001,|y|补=011111 x补 0 1 1 0 0 0 +[-|y|补] 1 0 0 0 0 1 —————————— 1 1 1 0 0 1 <0 q0=0 左移 1 1 0 0 1 0 +|y|补 0 1 1 1 1 1 —————————— 0 1 0 0 0 1 >0 q1=1 左移 1 0 0 0 1 0 +[-|y|补] 1 0 0 0 0 1 ——

2-6、求商和余数

耗尽温柔 提交于 2020-02-01 04:27:06
求商和余数(10分) 题目内容: 输入两个正整数,求它们的商和余数。例如,输入 18和10,则它们的商是1,余数是8。 输入: 两个正整数,用空格隔开 。 输出: 商和余数,用空格隔开 。 输入样例: 18 10 输出样例: 1 8 【提示】使用int类型,"/"用来求商,"%"用来求余数。 时间限制:500ms内存限制:32000kb #include <iostream> #include <cmath> using namespace std; int main() { int a = 0, b = 0; cin >> a >> b; if(b != 0) cout << a / b << ' ' << a % b << endl; return 0; } 来源: CSDN 作者: BLAZAR' 链接: https://blog.csdn.net/weixin_42274148/article/details/103733190

蓝桥杯题库入门(C实现)

。_饼干妹妹 提交于 2020-02-01 00:24:08
入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据规模与约定 1 <= n <= 1,000,000。 int F ( int n ) { int i , s1 = 1 , s2 = 1 , s3 = 1 ; for ( i = 3 ; i <= n ; i ++ ) { s3 = s1 + s2 ; if ( s3 > 10007 ) s3 - = 10007 ; s1 = s2 ; s2 = s3 ; } return s3 ; } int main ( ) { int n ; scanf ( "%d" , & n ) ; printf ( "%d" , F ( n ) ) ; return 0 ; } 2.入门训练

哈希表

岁酱吖の 提交于 2020-01-30 01:56:50
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。   对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树的操作通常需要O(N)的时间级。哈希表不仅速度快,编程实现也相对容易。   哈希表也有一些缺点它是基于数组的,数组创建后难于扩展某些哈希表被基本填满时,性能下降得非常严重,所以程序虽必须要清楚表中将要存储多少数据(或者准备好定期地把数据转移到更大的哈希表中,这是个费时的过程)。   而且,也没有一种简便的方法可以以任何一种顺序〔例如从小到大〕遍历表中数据项。如果需要这种能力,就只能选择其他数据结构。 然而如果不需要有序遍历数据,井且可以提前预测数据量的大小。那么哈希表在速度和易用性方面是无与伦比的。 哈希表算法-哈希表的概念及作用   一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行的比较次数。