#45502: 這題我打得很認真,偽建中的應該部會說話了吧吧吧吧吧


1121226@stu.wghs.tp.edu.tw (Arthur1121226)

學校 : 臺北市私立薇閣高級中學
編號 : 252772
來源 : [60.248.154.143]
最後登入時間 :
2025-03-12 15:51:26
a863. 3. Happy Numbers -- HP CodeWars2010 | From: [60.248.154.139] | 發表日期 : 2025-03-10 13:04

#include <bits/stdc++.h>
using namespace std;
bool isHappy(int n) {
    vector<int> a; // 記錄各個位數平方後相加的數
    while (n!=1){
        a.push_back(n); // 將每個位數平方後相加的數加入陣列
        int sum=0;
        while(n>0){ // 將每個位數平方後相加
            int digit=n%10; // 取出最後一位數
            sum+=digit*digit; // 將每個位數平方後相加
            n/=10; // 將最後一位數刪除
        }
        n=sum;
        for (int i=0;i<a.size();i++){ // 判斷是否已經重複
            if(a[i]==n){ // 已經重複
                return false; 
            }
        }
    }
    return true;
}
int main(){
  int n;
  while(cin>>n){ // 輸入數字
    bool b=isHappy(n); // 判斷是否為幸運數
    if(b==true){ 
      cout<<n<<" is a happy number"<<endl;
    }
    else{
      cout<<n<<" is an unhappy number"<<endl;
    }
  }
}
 
#45504: Re: 這題我打得很認真,偽建中的應該部會說話了吧吧吧吧吧


1121226@stu.wghs.tp.edu.tw (Arthur1121226)

學校 : 臺北市私立薇閣高級中學
編號 : 252772
來源 : [60.248.154.143]
最後登入時間 :
2025-03-12 15:51:26
a863. 3. Happy Numbers -- HP CodeWars2010 | From: [60.248.154.139] | 發表日期 : 2025-03-10 13:05

#include 
using namespace std;
bool isHappy(int n) {
    vector<int> a; // 記錄各個位數平方後相加的數
    while (n!=1){
        a.push_back(n); // 將每個位數平方後相加的數加入陣列
        int sum=0;
        while(n>0){ // 將每個位數平方後相加
            int digit=n%10; // 取出最後一位數
            sum+=digit*digit; // 將每個位數平方後相加
            n/=10; // 將最後一位數刪除
        }
        n=sum;
        for (int i=0;i// 判斷是否已經重複
            if(a[i]==n){ // 已經重複
                return false; 
            }
        }
    }
    return true;
}
int main(){
  int n;
  while(cin>>n){ // 輸入數字
    bool b=isHappy(n); // 判斷是否為幸運數
    if(b==true){ 
      cout<" is a happy number"<<endl;
    }
    else{
      cout<" is an unhappy number"<<endl;
    }
  }
}



 
ZeroJudge Forum