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,一经查实,立即删除!

相关文章

python内存模型_内存篇3:CPython的内存管理架构-L2-块

本篇用到了C/C的内存对齐的基础知识&#xff0c;我已经假定你有C/C内存管理的相关基础。我们在前一篇的流程图中留下了两个黑箱子,会涉及到内存模型第一层以上的其他话题&#xff0c;回顾下面关于第一层面向类型的内存API流程执行图。本篇要讨论其中一个黑箱就是何为物&#xf…

软件测试_入行

软件测试&#xff0c;入行太简单了。1. 看一本软件测试理论书籍 。2. 看一点数据库知识&#xff08;增删改查&#xff09;。3. 看一点Linux常用命令&#xff08;30个够了&#xff09;。4. 了解几个行业内容的测试工具&#xff08;如Jira Zentao LR Jmeter Fiddler 等&#xff0…

L1-056 猜数字 (20 分)

这道题做法倒是多样化&#xff0c;可以使用结构体&#xff0c;也可以使用多个数组做&#xff0c;不过为了复习一下好久没用过的结构体&#xff0c;我是用结构体做的。 这道题可以用来复习一下一些之前的简单的知识点&#xff0c;至于思路的话我相信应该都是有的。 这里就不发运…

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;然后创…

python对图片颜色校正_使用Python PIL更改图像色调

Using Python PIL, Im trying to adjust the hue of a given image.Im not very comfortable with the jargon of graphics, so what I mean by “adjusting hue” is doing the Photoshop operation called “Hue/saturation”: this is to change the color of the image uni…

自动生成业务单据流水号方案

我们在开发管理软件的时候,常常遇到流水号(单据号、登记号)自动生成、控制和管理的问题。由于流水号具有唯一性和连续性的特点,在实际开发过程中若处理不好,会产生流水号重复及断号的问题。特别是多个并发用户同时保存一张同样的业务单据时&#xff0c;系统会返回多个相同的流水…

IDEA快捷键的使用成就手速之旅(要想手速变得快,快捷练习必须刚)

IDEA快捷键的使用 &#xff08;持续更新&#xff09; 1.必备合集 a.Ctrl CtrlF 文本代码查找神器呀简直CrtlR 文本代码替换CtrlZ 撤销&#xff08;基操基操&#xff09;CtrlY 删除当前行或者选中行 b.Shirt c.CtrlShirt d.Ctrlalt e.altShirt f.CtrlShirtalt 2.慢慢积…

一个项目部署多个节点会导致锁失效么_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…

python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...

随笔记录方便自己和同路人查阅。#------------------------------------------------我是可耻的分割线-------------------------------------------如果有一个字符串列表&#xff0c;需要将它们连接起来&#xff0c;成为一个单独的字符串&#xff0c;join()方法就很有用。join…

变量的比较之equals 与 == 的区别

Java的数据类型分为两种 1.基本数据类型&#xff0c;byte,short,char,int,long,float,double,boolean&#xff0c;只要使用运算符就可以了&#xff0c;进行比较只是简单进行比较其中的字节组合。 两个引用变量是否引用到堆上的同一个对象&#xff0c;也可以使用。 2.复杂的对象…

scheduledthreadpoolexecutor使用_ScheduledThreadPoolExecutor详解

本文主要分为两个部分&#xff0c;第一部分首先会对ScheduledThreadPoolExecutor进行简单的介绍&#xff0c;并且会介绍其主要API的使用方式&#xff0c;然后介绍了其使用时的注意点&#xff0c;第二部分则主要对ScheduledThreadPoolExecutor的实现细节进行介绍。1. 使用简介Sc…

SpringContextHolder 静态持有SpringContext的引用

SpringContextHolder 静态持有SpringContext的引用 package com.test.quartz;import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware;/**** 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何…

canvas绘制图像image

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