標題:
310 函式與陣列 (阿姆斯壯數)
[打印本頁]
作者:
陳育霖
時間:
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
本帖隱藏的內容需要回復才可以瀏覽
作者:
曾宥程
時間:
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;
}
複製代碼
作者:
林羿丞
時間:
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;
}
複製代碼
作者:
王銘鴻
時間:
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;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2