当前位置:   article > 正文

2013蓝桥杯省赛A组C/C++——B题_void i2s(long long x,string &basic_string){ string

void i2s(long long x,string &basic_string){ stringstream ss; ss<>basi

题目标题: 排它平方数

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

原来,203879 * 203879 = 41566646641

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

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

再归纳一下筛选要求:
1. 6位正整数
2. 每个数位上的数字不同
3. 其平方数的每个数位不含原数字的任何组成数位
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
#include <iostream>
#include <sstream>
using namespace std;

void i2s(long long x, string &basic_string){
	stringstream ss;
	ss << x; 
	ss >> basic_string;
}

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;
}


int main(){
	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;
}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

总结:
1.很容易想到用暴力枚举去看每一个六位数字是否满足题目要求
2.用到了数字转字符串的知识点,需要头文件 #include < sstream >, 并且需要用find函数去查找两个字符串是否有相同的字符

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48449
推荐阅读
相关标签
  

闽ICP备14008679号