蓝桥杯C/C++省赛:排它平方数

2023-11-12

目录

题目描述

思路分析

AC代码


题目描述

小明正看着 203879 这个数字发呆。
原来,203879 * 203879 = 41566646641
这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。
具有这样特点的6位数还有一个,请你找出它!
再归纳一下筛选要求:
1. 6位正整数
2. 每个数位上的数字不同
3. 其平方数的每个数位不含原数字的任何组成数位
答案是一个6位的正整数。

思路分析

暴力解决:

从最小的102345到最大的987654之间的六位数进行遍历,查找满足题意的数。

我们需要写两个函数,一个是判断这个6位正整数里面有没有相同的数字,另一个用来判断平方数的每个数位包不包含原数字的任何组成数位。

第一个函数:

先把六位数变成字符串,用string的to_string()函数可以搞定,然后两层循环去找相同元素。

第二个函数:

先把数都变成字符串,然后依次判断平方数里面有没有原数字的组成数位。

这里必须注意,不仅仅平方数需要用long long来存储,原数字也需要用long long来存储,如果是用int或者long来存储原数字,那么相乘的时候也是用32位的寄存器来存储结果,所以会寄。

AC代码

#include <bits/stdc++.h>
using namespace std;
bool same(long long&test){
    string temp=to_string(test);
    for(int i=0;temp[i];i++)
        for(int j=0;temp[j];j++){
            if(i==j)
                continue;
            if(temp[i]==temp[j])
                return true;
        }
    return false;
}
bool contain(long long &orgin,long long &square){
    string org= to_string(orgin),squ= to_string(square);
    for(int i=0;org[i];i++)
        if(squ.find(org[i])!=string::npos)
            return true;
    cout<<squ<<endl;
    return false;
}
int main()
{
    long long test=102345;
    for(long long i=test;i<=987654;i++){
        if(i==203879)
            continue;
        if(same(i))
            continue;
        long long temp=i*i;
        if(contain(i,temp))
            continue;
        cout<<i<<endl;
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯C/C++省赛:排它平方数 的相关文章

随机推荐

  • gradle全下载

    http services gradle org distributions
  • pyautogui快捷键自动点击

    一个小玩意 本意是知云翻译完可以更方便地读出单词 Path是要识别的按钮的图片 import pyautogui import keyboard def Nonetype return None if name main Path D sp
  • linux设备驱动入门1

    一 如何让驱动程序运行起来 1 1 linux中驱动程序和应用程序的区别 linux系统中驱动程序运行在内核空间而应用程序运行在用户空间 他们之间有着很多的不同之处 应用程序是无后缀的 而驱动程序是带后缀 ko 比如hello ko是驱动成
  • js向对象中添加元素(对象,数组)

    一 添加一个元素 对象名 属性名 值 值 可以是一个值 可以是一个对象 也可以是一个数组 这样添加进去的元素 就是一个值 或 对象 或 数组 var obj name leo console log obj obj age 16 conso
  • 错误排查

    1 报错以后 错误要从后面的错误往前读 2 标签别写错了 3 resource绑定mapper 路径要写 4 程序配置文件必须符合规范 5 NullPointerException 没有注册到资源 6 输出的xml文件中存在中文乱码问题 7
  • 使用两个栈实现一个队列

    使用两个栈实现一个队列 栈的特点 后进先出 队列的特点 先进先出 那么如何用两个栈实现一个队列呢 我们可以将两个栈进行拼接 一个当做队头 一个当做队伍 例如下面的例子 由上图我们可以看到 stack1中入栈的顺序是4 3 2 1 其中 4
  • C++:删除map元素,当value值为指针时,如何释放内存。

    class A map lt string A gt stoaMap 1 通过迭代器遍历删除 map lt string A gt iterator iter stoaMap begin while iter stoaMap end 1 注
  • c++第十五课--set/multiset的简介

    1 set是一个集合容器 其中所包含的元素是唯一的 集合中的元素按一定的顺序排列 元素插入过程是按排序规则插入 所以不能指定插入位置 2 set采用红黑树变体的数据结构实现 红黑树属于平衡二叉树 在插入操作和删除操作上比vector快 3
  • html项目开发过程中遇到的问题(1)

    1 hgroup标签 该标签主要针对各个标题进行组合 多用在header导航栏标题中 2 section标签 该标签定义页眉页脚 或页面中的其他部分 通常与标签article连用 3 clearfix与 clear after 1 clea
  • tomcat+nginx实现项目部署

    本文主要讲述的项目部署方面的一些基础知识 tomcat nginx的环境 nginx是常用的web服务器 用于获取静态资源 类似的服务器还有apache tomcat是基于java servlet 的 web 容器 用于获取动态资源 一般的
  • 首家!亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试

    近日 在中国信通院 可信数据库 数据库迁移工具专项测试中 湖南亚信安慧科技有限公司 简称 亚信安慧科技 数据库数据同步平台V2 1产品依据 数据库迁移工具能力要求 结合亚信科技AntDB分布式关系型数据库产品 成为首款完成标准所规定的测试产
  • java如何开启远程调试服务端口_java – 是否可以在JSVC中启用端口进行远程调试?...

    我正在运行一个jsvc应用程序 它工作得很好 但现在我需要在我的应用程序上启用一个端口 以便我可以进行远程调试 我正在使用 java执行上述任务 这是添加jsvc参数的代码 private List getJSVCArgs List jsv
  • 作为科技迷,你必须要了解的乐高机器人常识!

    Source by Fans 主要材料 乐高机器人常识 所需工具 乐高机器人常识 制作步骤 第1步 从今天起 给大家盘点一下主流的机器人开发套件 谈及机器人套件 乐高是回避不掉的 既然这样 那我们索性从乐高机器人套件开始说起 第2步 乐高
  • 网络***实用战术手册(UNIX)

    摘要 一个系统有很多步骤 阶段性很强的 工作 其最终的目标是获得超级用户权限 对目标系统的绝对控制 从对该系统一无所知开始 我们利用其提供的各种网络服务收集关于它的信息 这些信息暴露出系统的安全脆弱性或潜在入口 然后我们利用这些网络服务固有
  • 基于正点原子STM32F103ZET6工程文件修改成C8T6工程文件

    1 打开一个正点原子的工程 点击魔术棒 2 修改芯片型号为STM32F103C8 3 修改宏定义ZET6是大容量产品用的是STM32F10X HD C8T6是中容量产品 用的是STM32F10X MD 3 更换启动文件将startup st
  • [Vue3+Element-Plus]点击列表中的图片预览时,图片被表格覆盖问题

    问题复现 源代码段
  • matlab simulink 模糊PID控制空调系统温度

    1 内容简介 略 630 可以交流 咨询 答疑 2 内容说明 随着社会不断的发展 能源问题表现的日益突出 因此 节能变得尤其重要 而现 在随着人们物质水平的提高 对中央空调系统的要求也随之提高 希望在耗能最低的情 况下 保持室内合适的温度和
  • 3-Spring笔记

    Spring容器介绍 简介 Spring是一个开源免费的框架 容器 Spring是一个针对bean的生命周期进行管理的轻量级的框架 非侵入式的 控制反转 IoC 面向切面 Aop 对事物的支持 对框架的支持 解决企业应用开发的复杂性 Spr
  • C语言实现离散傅里叶变换DFT

    离散傅里叶变换DFT的计算公式如下 关于对DFT的详细讨论 请阅读前一篇博客基于matlab的FFT分析 include
  • 蓝桥杯C/C++省赛:排它平方数

    目录 题目描述 思路分析 AC代码 题目描述 小明正看着 203879 这个数字发呆 原来 203879 203879 41566646641 这有什么神奇呢 仔细观察 203879 是个6位数 并且它的每个数上的数字都是不同的 并且它平方