湘潭大学OJ1200ProblemCRC(摸拟,坑题)

2023-12-22 07:20

本文主要是介绍湘潭大学OJ1200ProblemCRC(摸拟,坑题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

现实中的网络通讯不够理想,经常会有bit从0变1,从1变0...为了检验是否出错 需要用到循环冗余校验CRC
CRC冗余检验码包含两个部分 k位信息位+n位校验位,可由以下的步骤得到:

1.将要传送的数据分段,每段k个bit,如果不足k位用0补齐
2.对于每个长度为k的01序列M, 先在M后面加n个0得到新的M'.
3.选定一个(n+1)位的01序列做为除数P,对M'做**模2的除法,得到一个n位的余数R(即校验位).
4.将R接到M的后面就得到了M的 CRC冗余检验码

请写一个程序模拟处理出CRC码的过程.
**注意此处模2的除法是不进位的除法,除数和被除数做异或运算。进行异或运算时除数和被除数最高位对齐,按位异或。如图所示

crc.jpg

输入

多组样例输入,每个样例有3行. 第一行三个整数m,n,k.(m>0&&m<=200 n>0&&n<=100 m>=n k>0&&k<=100)
m要传送的比特串的长度 , n除数P的位数(实际的校验位长为n-1) , k 每个码元有 k 个比特
第二行 一个m位的字符串 即要传送的序列
第三行 一个n位的字符串 即除数P

输出

每行输出一段码元处理后的CRC码.见样例.

样例输入
15 4 6     
101001101001101
1101
样例输出
Case: 1#
101001001
101001001
101000100
题意要注意的是:看注释
#include<stdio.h>
int main()
{int m,n,k,t=0;int a[205],p[105],MM[205],mk;char ch[205],str[105];while(scanf("%d%d%d",&m,&n,&k)>0){scanf("%s",ch);scanf("%s",str);for(int i=0; i<m||i<n; i++){if(i<m)a[i]=ch[i]-'0';if(i<n)p[i]=str[i]-'0';}printf("Case: %d#\n",++t);int c=m/k,tc=1;if(m%k)c++;while(c--){mk=0;for(int i=(tc-1)*k ; i<tc*k; i++)if(i<m) MM[mk++]=a[i],printf("%d",a[i]);else  MM[mk++]=0,printf("0");for(int i=0; i<n-1; i++) MM[mk++]=0;for(int tmk=0; tmk+n<=mk; tmk++)//不管第tmk位异或变成1都往下一位开始{if(MM[tmk]==0) continue;for(int i=0,j=tmk; i<n; i++,j++)MM[j]=MM[j]^p[i];}for(int j=mk-n+1; j<mk; j++)printf("%d",MM[j]);printf("\n");tc++;}}
}


这篇关于湘潭大学OJ1200ProblemCRC(摸拟,坑题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/523052

相关文章

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

如何快速融入大学课堂

快速融入大学课堂是适应大学生活的重要一步。以下是一些实用的建议,帮助你快速融入大学课堂并取得良好的学习效果。 ### 1. 提前准备 - **课前预习**:在上课前预习课程内容,了解基本概念和知识点,这样在课堂上更容易跟上老师的讲解。 - **准备学习材料**:带上笔记本、笔、课本和其他必要的学习材料,确保在课堂上能够及时记录和查阅。 ### 2. 积极参与课堂 - **主动提问**:在课堂上

OpenGL/GLUT实践:流体模拟——数值解法求解Navier-Stokes方程模拟二维流体(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 流体模拟实现2.1.1 网格结构2.1.2 数据结构2.1.3 程序结构1) 更新速度场2) 更新密度值 2.1.4 实现效果 2.2 颜色设置2.2.1 颜色绘制2.2.2 颜色交互2.2.3 实现效果 2.3 障碍设置2.3.1 障碍定义2.3.2 障碍边界条件判定2.3.3 障碍实现2.3.

热烈庆祝中国科学技术大学建校六六周年

卡西莫多的诗文集2022-2024.9月6-校庆国庆专版   欢迎分享 通过网盘分享的文件:卡西莫多的诗文集2022-2024.9月6-A5-校庆国庆专版.pdf 链接:  百度网盘 请输入提取码 提取码: umpm

2024全国大学省数学建模竞赛A题-原创参考论文(部分+第一问代码)

一问题重述 1.1 问题背景  "板凳龙",又称"盘龙",是浙闽地区的传统地方民俗文化活动。这种独特的表演艺术形式融合了中国传统龙舞的精髓和地方特色,展现了人们对美好生活的向往和对传统文化的传承。 在板凳龙表演中,人们将少则几十条,多则上百条的板凳首尾相连,形成蜿蜒曲折的"龙"形。这种创新的表演方式不仅展现了民间艺术的智慧,也体现了集体协作的精神。盘龙时,龙头在前领头,龙身和龙尾相随盘旋,整

Accept CS Ph.D. Offer from Stony Brook University,去SUNY石溪大学的CS Ph.D.啦

前言:在2017年3月24日,正式决定去纽约州立大学石溪分校(State University of New York, Stony Brook,简称石溪大学),CS Ph.D. 项目。本科直博,DIY申请,全额奖学金,第一年5.1万美元(免学费2.2万,2017 fall, 2018 spring 的TA 1.93万,2018 summer RA 1万,没有 Fellowship) Abs

西湖大学卢培龙团队突破:精确从头设计异手性蛋白复合物,开启镜像蛋白研究新篇章

在生物科学的浩瀚星空中,蛋白质作为生命活动的基本承担者,其设计与合成一直是科学家们不懈探索的领域。近日,西湖大学卢培龙团队携手清华大学刘磊团队,在《Cell Research》期刊上发表了一项革命性的研究成果——首次实现了异手性蛋白复合物的精确从头设计,这一突破不仅填补了蛋白质设计领域的一大空白,更为分子工具、疾病治疗及诊断技术的发展开辟了新的可能性。 异手性蛋白:生命科学的神秘探索 蛋白质是

docker的小知识大学问

1.docker退出容器但是不关闭容器 Ctrl+P+Q 2.如何批量停止所有的容器 docker stop $(docker ps -q)  注意使用 -q 参数,仅仅输出镜像/容器的ID. 3.容器重启后会IP地址都会改变,查看容器的ID docker inspect -f '{{.NetworkSettings.IPAddress}}' <CONTAINER> 4.do

[B站大学]Zotero7教程

参考资料: https://www.bilibili.com/video/BV1PSvUetEQX 2. 账号注册与同步 本节内容参考zotero中文社区文档:https://zotero-chinese.com/user-guide/sync 2.1 数据同步 首先注册一个Zotero官方账户。登录账号密码。 2.2 文件同步 按照文档,推荐使用支持WebDAV的网盘,例如坚果云网盘

面试礼仪 + 5.1回家必带+大学结束感悟

回家必带的: 身份证        采集信息        实习协议     学生证 要买的: 上衣衬衫, 脚部急眼, 教师证现场确认资料:正在准备启闭,下次回家太晚直接去报名 书(EQ太低了) -------------------------------- 回学校答辩4.28号 1: 还是的交流:很多信息不知道, 如答辩步骤,上传最新版论文,。。。。 5月8号成都信息工程