L1-046 整除光棍 (20 分)

这道题的解题过程真是一波三折,也真是发现人外有人,天外有天,好多神人真是。

原题如下图,也可点击这个链接到原题自己测试光棍原题链接:
题目

一开始做的时候的想法:so easy,虽然看到了题目中提示s可能超级大 ,直接做可能超时,但是当时也没别的想法只能硬着头皮上了,果然,哈哈,超时了,只砍下14分,说实话,这14分都感觉像运气
超时
这是当初的代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{int n;long long int num=11;int count=2;cin>>n;while(num%n!=0){num=num*10+1;count++;}cout<<num/n<<" "<<count<<endl;
}

辗转各位神人的题解,真是让我大开眼界,最终也是有了自己的算法,还算是不错。

注释,我给附到代码里了,可以自己复制到自己的编译环境里,看一下,感觉CSDN这个页面的代码还是看着不是那么舒服。

成功

#include<bits/stdc++.h> 
using namespace std;
int main()
{int n;int count=1,x=1;cin>>n;while(x<n){x=x*10+1;count++;}  //为了不输出0,即商为零的情况//一开始被卡这里了,没加这一步,输出来的结果有时候会带0. while(1){if(x%n!=0){cout<<x/n;x=x%n;x=x*10+1;count++; }//这里面的操作是我参考了好几位神人的笔记,终于悟了//原来就是一个简单的除法运算列竖式的过程//相信你列个竖式随便除一下,肯定也和我一样豁然开朗。//最后的那个光棍数所有位上都是1,所以直接除,然后取余,取余之后补1。 //这就是 x=x%n; x=x*10+1;这两步的由来,本质上是实现了一个除法的计算过程。 else{cout<<x/n;break;}}cout<<" "<<count<<endl;
}

最后必须敲黑板:

这是我辗转各家的时候,看到的一个神人的想法,他直接用到了c++的位运算,让我不禁直接点赞,大呼牛皮。

可以看一下:

#include<bits/stdc++.h>
using namespace std;
int x,ans,tot,flag;
int main()
{cin>>x;for(ans=1;;ans++){tot=(tot<<3)+(tot<<1)+1;if(tot>=x){flag=1;cout<<tot/x;}else if(flag)cout<<0;tot%=x;if(!tot)break;}cout<<' '<<ans;return 0;
}

"<<“和”>>"的位运算,实不相瞒,我也只是在刚学到的时候了解了一下,压根没想到有人竟然能把它用在这里,惊艳的想法。
如果你不太了解位运算的话,可能看不懂哈,可以跳转到这里位运算的总结充个电。
不负韶华

时光荏苒,岁月如梭,韶华不负,未来可期

仰望星空,脚踏实地,加油。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uci数据集_数据分析找不到数据集?快来看这个盘点

前言数据集相对于机器学习而言是至关重要的&#xff0c;可以说好的数据集是成功的一半。但是&#xff0c;我们很难找到一个特定的数据集来解决各种机器学习问题&#xff0c;甚至是进行实验。因而找到合适的数据集是一件很难的事情&#xff0c;接下来我们就盘点一下一些优质的数…

git保留两个repo的commit并进行合并

以往的合并时首先要删除repo的.git文件夹&#xff0c;然后重新add-commit-push。带来的问题是会丢失某一个仓库的提交信息&#xff0c;不利于时光倒退。经过摸索终于实现了保留两个仓库提交信息的合并方法。介绍如下&#xff1a; 比如要将DownloadPicsBySeleniumAndPhantomJS这…

安利一款编辑神器——Markdown

经常使用word或者那些浏览器自带编辑器的你可能会和我有时候遇到一样的烦恼&#xff0c;调整格式可真是不容易&#xff0c;如果你也有同样的烦恼&#xff0c;不妨可以试一下Markdown&#xff0c;值得你拥有哈。 Markdown的使用 1.安装使用篇 a.首先安装软件&#xff0c;然后创…

一个项目部署多个节点会导致锁失效么_Redis分布式锁

分布式锁在很多场景中是非常有用的原语&#xff0c; 不同的进程必须以独占资源的方式实现资源共享就是一个典型的例子。有很多分布式锁的库和描述怎么实现分布式锁管理器(DLM)的博客,但是每个库的实现方式都不太一样&#xff0c;很多库的实现方式为了简单降低了可靠性&#xff…

GIT_服务器与本地环境构建

linux安装git包 很多yum源上自动安装的git版本为1.7&#xff0c;这里手动编译重新安装1&#xff1a;安装依赖包yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker2&#xff1a;删除已有的gityum remove git3&#xff1a…

Maven项目的基本创建步骤

先来个自己笔记的图片备忘一下&#xff0c;如果以后有时间再慢慢更新详细。

visualvm远程监控jvm_大型企业JVM实战:优化及面试热点分析

本次课程的笔记非常多&#xff0c;而且内容已经整理了好几个小时了&#xff0c;接着下来内容也会更多&#xff0c;也是大型企业JVM性能调优实战的最后一节&#xff0c;希望对你有帮助&#xff01;04&#xff1a;JVM性能监控与故障处理工具 大型企业JVM性能调优实战之总结17&…

Markdown图片路径的改变方法

Markdown图片路径的改变方法 Markdown用时一时爽&#xff0c;路径一改火葬场 Markdown在占用内存少的优点的同时&#xff0c;也注定了图片的存储不会是占用内存&#xff0c;而是根据路径和链接链到md文件里的。 相信有不少人会像我一样在做完一个Markdown笔记后&#xff0c;在…

SROP

title: SROP date: 2018-02-21 19:58:12 categories: 栈溢出 tags: - CTF - PWN - 栈溢出 SROP全称为 Sigreturn Oriented Programming &#xff0c;表明利用sigreturn这个函数实现ROP的技术。 参考资料 http://www.freebuf.com/articles/network/87447.htmlhttp://bobao.360.c…

canvas绘制图像image

canvas绘制图像image 1.image的三个script的基本语法 准备工作:1.定义画布长度&#xff0c;获取2D绘图环境 ​ 2.建立对面对象&#xff0c;设置图片路径 ​ 3.载入图片&#xff0c;开始绘制 a.简单的画布上根据坐标绘制 ctx.drawImage(img,x,y) img为要绘制的图像&#…

根据时间戳生成编号_分布式系统的唯一ID生成算法对比

在复杂分布式系统中&#xff0c;往往需要对大量的数据和消息进行唯一标识。那么如何实现全局唯一id呢&#xff1f;有以下几种方案。(1)方案一&#xff1a;独立数据库自增id这个方案就是说你的系统每次要生成一个id&#xff0c;都是往一个独立库的一个独立表里插入一条没什么业务…

解决使用Servlet输出乱码问题(一行代码解决一切)

使用servlet接收表单数据后&#xff0c;输出出现了乱码&#xff0c;如下: 解决方法: 将下面这行代码粘到你重写的doGet或者doPost方法里就可以了。 response.setContentType("text/html;charsetutf-8");

Canvas之进度条的制作(矩形,圆环)

Canvas之进度条的绘制 基本进度条的绘制 1.矩形进度条 关键语法 获取画笔 var ctxdocument.getElementById(“id”).getContext(“2d”); 填充颜色 ctx.fillStytle“color”; setInternal()和clearInternal()的使用 代码(两种类型): <!DOCTYPE html> <html>…

该文件没有与之关联的程序来执行该操作_Liunx tty子系统分析之三 tty字符设备文件操作接口说明...

本章主要介绍tty字符设备文件对应的操作接口&#xff0c;从而说明tty设备的数据打开、关闭、读、写等接口的实现等内容。tyy file_operations定义tty字符设备文件操作接口的定义如下&#xff0c;主要包括tty_fops、console_fops、hung_up_tty_fops&#xff0c;其中console_fops…

初学echart的简单使用

简单的echart使用方法 1.引入外部echart的js文件 <script type"text/javascript" src"js/echarts.min.js"></script> 2.建立放置容器&#xff0c;div使用放置容器布局 放置容器配置 <style>body {text-align: center;}#domain1 {widt…

列名 userid 不明确。 表结构_那些你不知道的表结构设计思路

ERP表结构的设计--第9篇用日志记录“开源软件”的诞生赤龙ERP开源地址&#xff1a;点亮星标&#xff0c;感谢支持&#xff0c;与开发者交流 kzca2000码云&#xff1a;https://gitee.com/redragon/redragon-erpGitHub&#xff1a;https://github.com/redragon1985/redragon-erp赤…

PCL—关键点检测(rangeImage)低层次点云处理

博客转载自&#xff1a;http://www.cnblogs.com/ironstark/p/5046479.html 关键点又称为感兴趣的点&#xff0c;是低层次视觉通往高层次视觉的捷径&#xff0c;抑或是高层次感知对低层次处理手段的妥协。 ——三维视觉关键点检测 1.关键点&#xff0c;线&#xff0c;面 关键点 …

lombok的使用三部曲及使用中遇到的问题(持续更新)

lombok的使用 1.安装lombok插件 工欲善其事&#xff0c;必先利其器&#xff08;这一点是不能忘记的&#xff0c;好多小伙伴可能只导入了依赖&#xff0c;却忘了去下载安装插件&#xff09; 2.导入lombok依赖&#xff0c;看准了千万别倒错 导入依赖&#xff0c;记得更新PoM文件…

详细设计说明书示例_专利说明书常用句型汇总

第六课 说明书常用句型1. 以上一般描述和以下的详细说明都只是本发明的示例&#xff0c;并旨在提供概况或框架&#xff0c;用来理解如本发明所主张的本发明的本质和特征。It is to be understood that both the foregoing general description and the following detailed desc…

Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build

解决步骤如下: 1.打开project下的build.grade 2.将jcenter()注释掉或者直接删除本行代码。 3.sync now