HashSet
- 定义
C++:set Java:HashSet
- 创建与其基本操作
创建:HashSet hs=new HashSet();基本操作:1. boolean add(Object)// 如果此 set 中尚未包含指定元素,则添加指定元素。2. boolean remove(object)// 如果指定元素存在于此 set 中,则将其移除。3. int size()4. void clear()5. boolean isEmpty()6. boolean contain(object)
例题:HIHOCODER 1370 : 快乐数字
链接:
描述
判断一个正整数是否是快乐数字?
如果一个数字能够通过有限次快乐变换成为1,则是快乐数字。 快乐变换是对一个数字的每一位的平方数求和。 例如: 对于68 68 => 62+82= 100 100 => 12 + 02 + 02 = 1 因此68是快乐数字import java.util.*;import java.io.*;public class Main { static int caculate(int x) { int res=0,tmp; while(x>0) { tmp=x%10; x/=10; res+=tmp*tmp; } return res; } public static void main(String[] args) { Scanner sc = new Scanner(new InputStreamReader(System.in)); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); HashSeths=new HashSet (); while(true) { int n=sc.nextInt(); if(n==-1) break; hs.clear(); boolean flag=false; while(!hs.contains(n)) { hs.add(n); if(n==1) { flag=true; break; } n=caculate(n); } out.println(flag); out.flush(); } }}