排它平方数

小明正看着 203879 这个数字发呆。

原来,203879 * 203879 = 41566646641

这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。

具有这样特点的6位数还有一个,请你找出它!

再归纳一下筛选要求:
1. 6位正整数
2. 每个数位上的数字不同
3. 其平方数的每个数位不含原数字的任何组成数位

答案是一个6位的正整数。

请通过浏览器提交答案。

注意:只提交另一6位数,题中已经给出的这个不要提交。

注意:不要书写其它的内容(比如:说明性的文字)。

注意:要开long long,这里6位数*6位数也能爆。。

代码一:暴力枚举


#include <iostream>
#include <sstream> using namespace std; bool check(long long x, long long xx); void i2s(long long, string &basic_string); using namespace std; int main(int argc, const char *argv[]) {
//枚举6个位置出现的数字
for (int i = 1; i < 10; ++i) {
for (int j = 0; j < 10; ++j) {
if (j != i)
for (int k = 0; k < 10; ++k) {
if (k != i && k != j)
for (int l = 0; l < 10; ++l) {
if (l != i && l != j && l != k)
for (int m = 0; m < 10; ++m) {
if (m != i && m != j && m != k && m != l)
for (int n = 0; n < 10; ++n) {
if (n != i && n != j && n != k && n != l && n != m) {
long long x = i * 100000 + j * 10000 + k * 1000 + l * 100 + m * 10 + n;
if (check(x, x * x)) {
cout << x << " " << x * x << endl;
}
}
}
}
}
}
}
}
return 0;
} //检查是否满足条件
bool check(long long x, long long xx) {
string s_x, s_xx;
i2s(x, s_x);
i2s(xx, s_xx);
for (int i = 0; i < s_x.length(); ++i) {
if (s_xx.find(s_x[i]) != string::npos) {
return false;
}
}
return true;
} //长整型long long转字符串
void i2s(long long x, string &basic_string) {
stringstream ss;
ss << x;
ss >> basic_string;
}

代码二:枚举+筛选

枚举100000 ~ 999999内的数,筛选满足条件的数。

筛选就是取每一位并作统计,满足题目中的要求

#include<bits/stdc++.h>
using namespace std; typedef long long ll; /*
6位数:dfs(x->6) 枚举6位数判断出现次数和
每位都不同
*/ bool vst[10];
//bool vsty[10]; bool canU(ll x){
for(int i=0;i<10;i++){
vst[i] = 0;
}
while(x){
vst[x%10] = 1;
x = x/10;
}
int cnt = 0;
for(int i=0;i<10;i++){
if(vst[i]) cnt++;
}
return cnt == 6;
} bool canT(ll y){
while(y){
if(vst[y%10] == 1) return false;
y = y/10;
}
return true;
} int main(){
for(ll i=100000;i<=999999;i++){
if(canU(i)){
ll y;
y = i * i;
if(canT(y)){
cout<<i<<endl;
cout<<" y = "<<y<<endl;
}
}
}
return 0;
}
//int * int 爆精度问题
//639172

代码三:dfs求全排列+筛选

排它平方数|2013年蓝桥杯A组题解析第二题-fishers的更多相关文章

  1. 连号区间数|2013年蓝桥杯B组题解析第十题-fishers

    连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递 ...

  2. 第十届蓝桥杯JavaB组省赛真题

    试题 A: 组队 本题总分:5 分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容. 每位球员担任 1 号位至 5 号位时的评分如下表所示. ...

  3. 黄金连分数|2013年蓝桥杯B组题解析第四题-fishers

    黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现.有时需要把这个数字求得很精确. 对于某些精密工程,常数的精度很重要.也许你听说过哈勃太空望远镜,它首次 ...

  4. 前缀判断|2013年蓝桥杯B组题解析第五题-fishers

    前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL. 比如:"abcd1234" 就包含了 &quo ...

  5. 平方十位数——第八届蓝桥杯JavaB组(国赛)第一题

    原创 标题:平方十位数 由0~9这10个数字不重复.不遗漏,可以组成很多10位数字.这其中也有很多恰好是平方数(是某个数的平方). 比如:1026753849,就是其中最小的一个平方数. 请你找出其中 ...

  6. 第八届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.购物单 题目描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推 ...

  7. 第九届蓝桥杯JavaA组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.分数 题目描述 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多 ...

  8. 第十届蓝桥杯JavaC组省赛真题

    试题 A: 求和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1.2.9.10 至 32.39 和 40,共 28 个,他们的 ...

  9. 第四届蓝桥杯JavaC组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜年龄 题目描述 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学. 一 ...

随机推荐

  1. 删除SQL Server大容量日志的方法(转)

    删除SQL Server大容量日志的方法 亲自实践的方法 1.分享数据库,如果提示被其他连接占用,不能分离,刚勾上drop connections 2.复制下所有文件,一定要备份好,以防自己操作失误 ...

  2. ubuntu修改时区

    1.网上大部分解决办法是命令tzselect,然后选择亚洲-->中国->上海,但很遗憾,一点效果没有: 2.后找到解决办法,运行命令dpkg-reconfigure tzdata,选择As ...

  3. const_cast, dynamic_cast, static_cast,reinterpret_cast

    一.const_cast:用于移除const数据,目标数据类型必须与原类型相同 二.dynamic_cast:用于在两个不同类型之间进行强制转换并且在执行运行时检查它.保证它的合法性,如果在两个互相矛 ...

  4. SNMP 安装及使用

    一.SNMP的安装 1.安装 snmp服务,python扩展等 参考:http://lihuipeng.blog.51cto.com/3064864/915965 [root@localhost] y ...

  5. HTML5语义化元素

    语义化元素:有意义的元素. 对语义化的理解: 正确的标签做正确的事情: HTML5语义化元素让页面内容结构化清晰: 便于开发人员阅读,理解,维护: 搜索引擎爬虫可以依赖语义化元素来确定上下文和每个关键 ...

  6. php实现多进程

    转:http://www.jb51.net/article/71238.htm cd php-version/ext/pcntl phpize ./configure && make ...

  7. python pandas简单使用处理csv文件

    这里jira.csv是个大文件 1) >>> import pandas >>> jir=pandas.read_csv(r'C:\Temp\jira.csv') ...

  8. 写自动更新程序出现"远程服务器返回错误: (404) 未找到"

    在win2003配置后,在客户端运行时能够下载exe和dll文件,但是在更新lib文件时总是报“远程服务器返回错误: (404) 未找到”错误,不明白咋会出现这个问题,去网上一查,发现以下解决办法: ...

  9. 转:C# 对委托的BeginInvoke,EndInvoke 及Control 的BeginInvoke,EndInvoke 的理解

    转载自:http://www.cnblogs.com/easyfrog/p/3141269.html using System; using System.Collections.Generic; u ...

  10. Javascript深入理解构造函数和原型对象

    1.在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例.但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propoty ...