排它平方数——第四届蓝桥杯省赛C语言A组第2题
来源:互联网 发布:海伯利安 知乎 编辑:程序博客网 时间:2024/05/22 13:51
小明正看着 203879 这个数字发呆。原来,203879 * 203879 = 41566646641
这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。
具有这样特点的6位数还有一个,请你找出它!再归纳一下筛选要求:
1. 6位正整数
2. 每个数位上的数字不同
3. 其平方数的每个数位不含原数字的任何组成数位
答案是一个6位的正整数。
分析:
因为输入数据比较大,所以可将输入的整数转化为字符串(s1),将其平方也转化为字符串(s2),然后在s2中查找s1中的每一个字符,若都没有查找到,即返回string::npos,那么这个六位数就是答案。
注意:所求的六位数每一位都不同,所以要将其每位的数字放到set中,如果size为6,则符合输入要求。
#include<iostream>#include<string>#include<sstream>#include<set>using namespace std;string toString(long long a)//将long long型转换为string类型{ stringstream ss; ss<<a; string ans; ss>>ans; return ans;}int main(){ set<char> s; int cnt,j; long long i; long long n; string str; char* p=new char[6]; for(i=123456;i<=987654;i++) { cnt=0; str=""; str=toString(i); s.clear(); for(j=0;j<6;j++) { p[j]=str[j]; s.insert(p[j]); } if(s.size()<6) continue; n=i*i; str=toString(n); for(j=0;j<6;j++) { if(str.find(p[j])==string::npos) cnt++; else continue; } if(cnt==6) cout<<i<<endl; } return 0;}
0 0
- 排它平方数——第四届蓝桥杯省赛C语言A组第2题
- 第四届蓝桥杯C++A组——排它平方数
- 第四届蓝桥杯软件类国赛真题-C-A-2_排它平方数
- 第四届蓝桥杯软件类国赛真题-C-A-2_排它平方数
- 2013第四届蓝桥杯 C/C++本科A组 排它平方数(2个数相乘为大数,大数位标记的方法)
- 第四届蓝桥杯之排它平方数
- 蓝桥杯第四届 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 排它平方数
- 【蓝桥杯训练】第四届C/C++初赛 排它平方数
- css打造下划线输入框
- Codeforces 501D. Misha and Permutations Summation 康拓展开+树状数组+二分
- 从你的同事身上看到你的过去和未来
- 神经网络的推导与矩阵实现
- HDU 3974 Assign the task(线段树 单点更新+lazy)
- 排它平方数——第四届蓝桥杯省赛C语言A组第2题
- 10-java5的线程锁技术
- jQuery EasyUI DataGrid Checkbox 数据设定与取值
- Ruby实现斐波那契数列
- IIS与Web基情
- Java对象的序列化和反序列化
- 黑马程序员——集合(三)
- 2015年上半年——项目记录一
- Longest Substring Without Repeating Characters (最长不重复字符的子序列) Java-O(n)解法