华为在线训练(3)
来源:互联网 发布:网络行为管理 编辑:程序博客网 时间:2024/05/22 06:57
1、题目描述
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
//set容器,元素无重复,且自动排序(默认升序)#include<stdio.h>#include<set>#include<iostream>using namespace std;int main(){int i,len,data;set <int> c;set <int>::iterator si;while(cin>>len){for(i=0;i<len;i++){cin>>data;c.insert(data);}cout<<"输出为:"<<endl;for(si=c.begin();si!=c.end();si++){cout<<*si<<endl;} // cin.ignore();c.clear(); cout<<"重新输入:"<<endl;}return 0;}
2、题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
详细描述:
函数接口说明: public String getResult(long ulDataInput)
输入参数:long ulDataInput:输入的正整数
返回值: String
#include<stdio.h>#include<iostream>using namespace std;//判断一个数是否为质数//质数:只能被1和本身整除bool Is_prime(int data){int i;if(data>1){if(data==2)return true;for(i=2;i<=data-1;i++){if((data%i)==0)return false;}return true;}}//求出所有质因子,也就是分解如下//如180=2*2*3*3*5int main(){int k=2; int num;while(cin>>num){while(k<=num){if(num%k==0){cout<<k<<" ";num=num/k;}elsek++;}k=2;cout<<endl;} return 0;}
3、题目描述
密码要求:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有相同长度超2的子串重复
说明:长度超过2的子串
#include "stdio.h"#include<iostream>#include<string>#include<string.h>using namespace std;bool solve(string str);bool check_str(string s);int main(){string s;while(getline(cin,s)){if(solve(s)&&check_str(s)){cout<<"OK"<<endl;}else{cout<<"NG"<<endl;}}return 0;}bool solve(string str){int len=str.size();;int num1,num2,num3,num4;num1=num2=num3=num4=0;if(len<=8){return false;}for(int i=0;i<len;i++){if(str[i]>='a'&&str[i]<='z'){num1=1;}else if(str[i]>='A'&&str[i]<='Z'){num2=1;}else if(str[i]>='0'&&str[i]<='9'){num3=1;}elsenum4=1;}if(num1+num2+num3+num4<3){return false;}return true;}bool check_str(string input)//重点不超过长度为3的子串{string strOut; string strInner;int subStrFlag=0; int len = input.length();for (int i = 0; i <= len - 3; i++) { strOut = input.substr(i, 3);//每三个比较一次 for (int j = i + 3; (subStrFlag!=1)&&(j <= len - 3); j++) { strInner = input.substr(j, 3);///返回一个从指定位置开始,并具有指定长度的子字符串。 if (strOut==strInner) //string类型的可以直接比较? { subStrFlag = 1; break; } } }if (subStrFlag==1)return false;elsereturn true;}
#include "stdio.h"#include<iostream> //思路:按顺序将字母提取出来#include<string> //最后按照顺序,用提取出来的顺序字母替换原来的字母#include<string.h>#include<vector>using namespace std;int main(){string str;while(getline(cin,str)){vector<char> s;for(int i=0;i<26;i++){for(int j=0;j<str.size();j++){if(str[j]-'a'==i||str[j]-'A'==i){s.push_back(str[j]);}}} int num=0; for(int k=0;k<str.size();k++) { if((str[k]>='a'&&str[k]<='z')||(str[k]>='A'&&str[k]<='Z')) { str[k]=s[num++];} } cout<<str<<endl;}return 0;}
0 0
- 华为在线训练(3)
- 华为在线训练(2)
- 华为在线训练(4)
- 华为在线训练(5)
- 华为在线训练(6)
- 华为在线训练(7)
- 华为在线训练(8)
- 华为在线训练(9)
- 华为在线训练(10)
- 华为机试在线训练-牛客网(3)字符串最后一个单词的长度
- 华为机试在线训练-牛客网(4)质数因子
- 华为机试在线训练-牛客网(8)句子逆序
- 华为机试在线训练-牛客网(10)坐标移动
- 华为机试在线训练-牛客网(13)简单密码
- 华为机试在线训练-牛客网(16)字符串排序
- 华为机试在线训练-牛客网(22)字符串加密
- 华为机试在线训练-牛客网(24)迷宫问题
- 华为机试在线训练-牛客网(25)四则运算
- 【Java基础】比较运算符compareTo()、equals()、==之间的区别与应用总结
- 程序员日常——后台和前端的友谊小船,说翻就翻
- 逃离迷宫(bfs)
- 【HDU5735 2016 Multi-University Training Contest 2B】【暴力做法 + 折半法】Born Slippy 祖先链的最大运算权值
- JavaEE程序猿的免费午餐③
- 华为在线训练(3)
- Centos几个处理文件常用的命令
- 扩展KMP学习
- Javascript—正则表达式(操作指南)
- HMAC加密算法
- webService简介
- 没事别想不开去创业公司
- Cython的安装以及编译错误的解决方案
- MongoDB数据库中关于roles权限的说明