註冊
登錄
論壇
搜索
幫助
導航
私人消息 (0)
公共消息 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
種子論壇 | 高雄市資訊培育協會學員討論區
»
結訓課程 (青少年程式設計班)
»
程式解題我最行 (週六10:00-12:00)
» 310 函式與陣列 (阿姆斯壯數)
返回列表
發帖
發短消息
加為好友
陳育霖
當前離線
UID
69100
帖子
1959
精華
3
積分
90
閱讀權限
100
來自
0xf0000
在線時間
932 小時
註冊時間
2023-5-13
最後登錄
2025-5-1
版主
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
陳育霖
發表於 2023-8-31 23:17
|
只看該作者
310 函式與陣列 (阿姆斯壯數)
1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。
2. 設計說明:
請撰寫一程式,包含名為compute()的函式,接收主程式傳遞的一個整數n(0 < n < 1000),compute()輸出所有小於n的阿姆斯壯數並回傳總和至主程式輸出。
阿姆斯壯數的定義:若為k位數的正整數,則其所有位數數字的k次方與該數相等。
補充說明:
阿姆斯壯數(Armstrong number),又稱自戀數(Narcissistic number)(因為各數字 n 次方後加總又等於本身,感覺很自戀?)。
例如 153 可以滿足 1³ + 5³ + 3³ = 153,153 就是個阿姆斯壯數,阿姆斯壯數有 88 個,最大為 39 位數的 115132219018763992565095597973971522401,已證實超過 39 位數不存在阿姆斯壯數。
提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。
3. 輸入輸出:
輸入說明
一個整數n(0 < n < 1000)
輸出說明
所有小於n的阿姆斯壯數與其總和
範例輸入
999
範例輸出
1
2
3
4
5
6
7
8
9
153
370
371
407
1346
本帖隱藏的內容需要回復才可以瀏覽
收藏
分享
發短消息
加為好友
王銘鴻
當前離線
UID
68266
帖子
595
精華
0
積分
0
閱讀權限
10
來自
太陽系
在線時間
160 小時
註冊時間
2019-6-27
最後登錄
2023-11-11
新手上路
4
#
王銘鴻
發表於 2023-9-2 12:01
|
只看該作者
#include<bits/stdc++.h>
using namespace std;
int compute(int n)
{
int sum=0;
for(int i=1;i<n;i++)
{
string str=to_string(i);
int l=str.length();
if(l==1)
{
sum+=i;
cout<<i<<endl;
}
else if(l==2)
{
if(pow(str[0]-'0',2)+pow(str[1]-'0',2)==i)
{
cout<<i<<endl;
sum+=i;
}
}
else
{
if(pow(str[0]-'0',3)+pow(str[1]-'0',3)+pow(str[2]-'0',3)==i)
{
cout<<i<<endl;
sum+=i;
}
}
}
return sum;
}
int main()
{
int n;
cin>>n;
cout<<compute(n);
return 0;
}
複製代碼
TOP
發短消息
加為好友
林羿丞
當前離線
UID
68287
帖子
597
精華
0
積分
0
閱讀權限
10
在線時間
118 小時
註冊時間
2019-7-8
最後登錄
2025-4-8
新手上路
3
#
林羿丞
發表於 2023-9-2 11:46
|
只看該作者
#include<bits/stdc++.h>
using namespace std;
int compute(int n){
int sum=0;
for(int i=1;i<n;i++){
string str=to_string(i);
int l=str.length();
if(l==1)
{
cout<<i<<endl;
sum+=i;
}
if(pow(str[0]-'0',2)+pow(str[1]-'0',2)==i){
cout<<i<<endl;
sum+=i;
}
if(pow(str[0]-'0',3)+pow(str[1]-'0',3)+pow(str[2]-'0',3)==i){
cout<<i<<endl;
sum+=i;
}
}
return sum;
}
int main(){
int n;
cin>>n;
cout<<compute(n);
return 0;
}
複製代碼
TOP
發短消息
加為好友
曾宥程
當前離線
UID
68225
帖子
579
精華
0
積分
0
閱讀權限
10
在線時間
126 小時
註冊時間
2019-4-12
最後登錄
2023-12-16
新手上路
2
#
曾宥程
發表於 2023-9-2 11:41
|
只看該作者
#include<bits/stdc++.h>
using namespace std;
int compute(int a)
{
int sum=0;
for(int i=1 ; i<a ; i++)
{
string str = to_string(i);
int l = str.length();
if(l == 1)
{
cout << i << endl;
sum+=i;
}
if(l == 2)
{
if(pow(str[0]-'0',2)+pow(str[1]-'0',2) == i)
{
cout << i << endl;
sum+=i;
}
}
if(l == 3)
{
if(pow(str[0]-'0',3)+pow(str[1]-'0',3)+pow(str[2]-'0',3) == i)
{
cout << i << endl;
sum+=i;
}
}
}
return sum;
}
int main()
{
int n;
cin >> n;
cout << compute(n) << endl;
return 0;
}
複製代碼
Vincent
TOP
返回列表
App快速開發實作班 (App Inventor)(外文系)
C++(六1330)
谷哥人營隊
Python研習營(113-114)
114年Python證照特訓
114年谷哥人程式體驗營
114年APCS冬令營
113Scratch夏令營
Scratch冬令營(113-114)
113年國三專班
Python證照特訓營(113)
113年程式夏令營(一)(二)
113年APCS夏令營(一)(二)
C語言 / C++ (特別輔導)
C++證照
C#
家教/特輔
C語言特輔/證照(家教)
C++證照
C#
HTML5+CSS+JavaScript+PHP+MySQL
Java 家教 (王捷恩)
TQC+資料結構
快樂學 Scratch
Python 家教 (王捷恩 康恒睿)
Python 特別輔導 (家教)
快樂 C++ (家教)
iKnow
我愛 Java (家教)
程式解題我最行 (家教)
程式常態班
C++ 新生挑戰區
考照心得分享
快樂 C++11307週五19:00
快樂C++11309週六13:30-15:30
快樂 C++11403週六1000
快樂 C++11303 (週六15:40-17:40) 3F
程式解題我最行 (週六15:30-17:30) 3F
快樂 C++ (週六13:30-15:30) 3F
快樂 C++ (週六19:00-21:00) 3F
程式解題我最行 (週六10:00-12:00) 3F
快樂學 Scratch
程式解題我最行(週五19:00-21:00)
快樂 C++ (週六13:30-15:30) 3F
程式解題我最行(週三19:15-21:15)
快樂 C++11207週六10
快樂 C++11208週六19:00
程式解題我最行 (週六19:00-21:00) 3F
程式解題我最行 (週四19:10-21:10)
產投職訓
結訓課程 (產投職訓)
Php & MySQL old
Illustrator old
Dreamweaver old
Android手機程式開發班
PHP & MySQL電子商務互動式網站實作班 (102下)
PHP & MySQL (102上)
PHP & MySQL電子商務互動式網站實作班
Photoshop數位影像設計初階
Flash創意廣告動畫初階
行銷短片視訊剪輯
數位商業攝影實務班
PHP & MySQL電子商務系統開發實務初階班
電子商務系統開發實務中階班
Server基礎架設&動態網頁設計初階班
Java視窗應用程式設計與遊戲開發班
Illustrator時尚插畫創作設計初階班
102上Php & MySQL 初階班
電子商務互動式網站實作中階
Dreamweaver多媒體網頁設計
Android手機程式開發班(2012年10月)
PHP & MySQL (2012年10月)
創意塗鴉
yahoo橫幅
google橫幅
市民學苑
第二屆樂活部落格
第一屆電腦設備簡易維護和故障排除班
專案訓練
電子商務創業班
TQC PHP認證
投資理財班
領隊導遊班
電腦基礎及網路應用身心障礙專班
應用軟體網頁化開發
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]