#18133: 想請問哪裡有錯


gngn15401@gmail.com (冰箱)

學校 : 不指定學校
編號 : 98199
來源 : [123.194.13.42]
最後登入時間 :
2021-08-25 01:43:08
a040. 阿姆斯壯數 | From: [111.252.58.239] | 發表日期 : 2019-06-19 10:10

#include <iostream>
#include <cmath>
using namespace std;
int length(int);
int main(){
int n,m,q=0;
while (cin >>n >>m){
for (n;n<=m;n++){
int sum=0;
for (int i=length(n)-1;i>=0;i--){
int z=n,x,p;
x=pow(10,i);
p=z/x;
sum=sum+pow(p,length(n));
z=z%x;
}
if (sum==n){
q=1;
cout <<sum <<' ';
}
}
if (q==0){
cout <<"none" <<endl;
}else{
cout <<endl;
}
}
return 0;
}
int length(int n){
int r=1;
while(n>=10){
n=n/10;
r++;
}
return r;
}

 
#18134: Re:想請問哪裡有錯


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43
a040. 阿姆斯壯數 | From: [36.224.136.126] | 發表日期 : 2019-06-19 11:21

#include
#include
using namespace std;
int length(int);
int main(){
int n,m,q=0;
while (cin >>n >>m){
for (n;n<=m;n++){
int sum=0;
for (int i=length(n)-1;i>=0;i--){
int z=n,x,p;
x=pow(10,i);
p=z/x;
sum=sum+pow(p,length(n));
z=z%x;
}
if (sum==n){
q=1;
cout < }
}
if (q==0){
cout <<"none" <<endl;
}else{
cout <<endl;
}
}
return 0;
}
int length(int n){
int r=1;
while(n>=10){
n=n/10;
r++;
}
return r;
}

我覺得先建表比較簡單

{1,2,3,4,5,6,7,8,9,153,370,371,407,1634,8208,9474,54748,92727,93084,548834,1741725,4210818,9800817,9926315}

這些是範圍內的數字

 
#18138: Re:想請問哪裡有錯


gngn15401@gmail.com (冰箱)

學校 : 不指定學校
編號 : 98199
來源 : [123.194.13.42]
最後登入時間 :
2021-08-25 01:43:08
a040. 阿姆斯壯數 | From: [111.252.58.239] | 發表日期 : 2019-06-19 15:52

我覺得先建表比較簡單

{1,2,3,4,5,6,7,8,9,153,370,371,407,1634,8208,9474,54748,92727,93084,548834,1741725,4210818,9800817,9926315}

這些是範圍內的數字

感謝你提供的方法~

只是這是在範圍內數字少的情況下才可以這樣用吧,如果碰上符合條件多的,這個方法應該會變得稍微麻煩,所以我才會想用一個一個找的,但是打完找不到我錯在哪QQ

 
#18139: Re:想請問哪裡有錯


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43
a040. 阿姆斯壯數 | From: [36.224.136.126] | 發表日期 : 2019-06-19 16:39

我覺得先建表比較簡單

{1,2,3,4,5,6,7,8,9,153,370,371,407,1634,8208,9474,54748,92727,93084,548834,1741725,4210818,9800817,9926315}

這些是範圍內的數字

感謝你提供的方法~

只是這是在範圍內數字少的情況下才可以這樣用吧,如果碰上符合條件多的,這個方法應該會變得稍微麻煩,所以我才會想用一個一個找的,但是打完找不到我錯在哪QQ

那我試試看,借我程式碼


 

 
#18140: Re:想請問哪裡有錯


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43
a040. 阿姆斯壯數 | From: [36.224.136.126] | 發表日期 : 2019-06-19 16:43

我覺得先建表比較簡單

{1,2,3,4,5,6,7,8,9,153,370,371,407,1634,8208,9474,54748,92727,93084,548834,1741725,4210818,9800817,9926315}

這些是範圍內的數字

感謝你提供的方法~

只是這是在範圍內數字少的情況下才可以這樣用吧,如果碰上符合條件多的,這個方法應該會變得稍微麻煩,所以我才會想用一個一個找的,但是打完找不到我錯在哪QQ

你說的錯是哪一種

WA

CE

NA

RE

......

 
#18142: Re:想請問哪裡有錯


gngn15401@gmail.com (冰箱)

學校 : 不指定學校
編號 : 98199
來源 : [123.194.13.42]
最後登入時間 :
2021-08-25 01:43:08
a040. 阿姆斯壯數 | From: [111.252.58.239] | 發表日期 : 2019-06-19 18:01

我覺得先建表比較簡單

{1,2,3,4,5,6,7,8,9,153,370,371,407,1634,8208,9474,54748,92727,93084,548834,1741725,4210818,9800817,9926315}

這些是範圍內的數字

感謝你提供的方法~

只是這是在範圍內數字少的情況下才可以這樣用吧,如果碰上符合條件多的,這個方法應該會變得稍微麻煩,所以我才會想用一個一個找的,但是打完找不到我錯在哪QQ

你說的錯是哪一種

WA

CE

NA

RE

......

WA(line1)


麻煩你了

 
#18143: Re:想請問哪裡有錯


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43
a040. 阿姆斯壯數 | From: [36.224.136.126] | 發表日期 : 2019-06-19 18:27

#include
#include
using namespace std;
int length(int);
int main(){
int n,m,q=0;
while (cin >>n >>m){
for (n;n<=m;n++){
int sum=0;
for (int i=length(n)-1;i>=0;i--){
int z=n,x,p;
x=pow(10,i);
p=z/x;
sum=sum+pow(p,length(n));
z=z%x;
}
if (sum==n){
q=1;
cout < }
}
if (q==0){
cout <<"none" <<endl;
}else{
cout <<endl;
}
}
return 0;
}
int length(int n){
int r=1;
while(n>=10){
n=n/10;
r++;
}
return r;
}

下面是更改過的

#include <iostream>
using namespace std;
int length(int);
int main()
{
int n,m;
while (cin >> n >> m){
long int b=0, c=0, d[24]={0};
for (;n<=m;n++) {
int a=length(n), pls=n;
for (int i=0;i<a;i++) {
int e=1, f=pls%10;
for (int j=0;j<a;j++) {
e*=f;
}
b+=e; pls/=10;
}
if (b==n) d[c]=b, c++;
}
for (int i=0;i<24;i++) {
if (d[i]==0) break;
cout << d[i] << " ";
}
if (c==0) cout << "none";
cout << endl;
}
return 0;
}

int length(int n){
int r=1;
while(n>=10){
n/=10;
r++;
}
return r;
}
 
#18147: Re:想請問哪裡有錯


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43
a040. 阿姆斯壯數 | From: [36.224.136.126] | 發表日期 : 2019-06-20 13:01

#include
#include
using namespace std;
int length(int);
int main(){
int n,m,q=0;
while (cin >>n >>m){
for (n;n<=m;n++){

--------------------------------------
int sum=0;
for (int i=length(n)-1;i>=0;i--){
int z=n,x,p;
x=pow(10,i);
p=z/x;
sum=sum+pow(p,length(n));
z=z%x;
}
if (sum==n){
q=1;
cout < }
}

---------------------------------------
if (q==0){
cout <<"none" <<endl;
}else{
cout <<endl;
}
}
return 0;
}
int length(int n){
int r=1;
while(n>=10){
n=n/10;
r++;
}
return r;
}

下面是更改過的

#include <iostream>
using namespace std;
int length(int);
int main()
{
int n,m;
while (cin >> n >> m){
long int b=0, c=0, d[24]={0};
for (;n<=m;n++) {
--------------------------------------------
int a=length(n), pls=n;
for (int i=0;i<a;i++) {
int e=1, f=pls%10;
for (int j=0;j<a;j++) {
e*=f;
}
b+=e; pls/=10;
}
if (b==n) d[c]=b, c++;
}
for (int i=0;i<24;i++) {
if (d[i]==0) break;
cout << d[i] << " ";
}
---------------------------------------------
if (c==0) cout << "none";
cout << endl;
}
return 0;
}

int length(int n){
int r=1;
while(n>=10){
n/=10;
r++;
}
return r;
}

我改框起來的地方

 
#18158: Re:想請問哪裡有錯


rexwu1104@gmail.com (黑雪公主 Black Lotus)

學校 : 新北市私立南山高級中學
編號 : 93041
來源 : [49.216.131.103]
最後登入時間 :
2024-06-06 19:28:43
a040. 阿姆斯壯數 | From: [36.224.136.126] | 發表日期 : 2019-06-20 19:49

#include
#include
using namespace std;
int length(int);
int main(){
int n,m,q=0;
while (cin >>n >>m){
for (n;n<=m;n++){

--------------------------------------
int sum=0;
for (int i=length(n)-1;i>=0;i--){
int z=n,x,p;
x=pow(10,i);
p=z/x;
sum=sum+pow(p,length(n));
z=z%x;
}
if (sum==n){
q=1;
cout < }
}

---------------------------------------
if (q==0){
cout <<"none" <<endl;
}else{
cout <<endl;
}
}
return 0;
}
int length(int n){
int r=1;
while(n>=10){
n=n/10;
r++;
}
return r;
}

下面是更改過的

#include <iostream>
using namespace std;
int length(int);
int main()
{
int n,m;
while (cin >> n >> m){
long int b=0, c=0, d[24]={0};
for (;n<=m;n++) {
--------------------------------------------
int a=length(n), pls=n;
for (int i=0;i<a;i++) {
int e=1, f=pls%10;
for (int j=0;j<a;j++) {
e*=f;
}
b+=e; pls/=10;
}
if (b==n) d[c]=b, c++;
}
for (int i=0;i<24;i++) {
if (d[i]==0) break;
cout << d[i] << " ";
}
---------------------------------------------
if (c==0) cout << "none";
cout << endl;
}
return 0;
}

int length(int n){
int r=1;
while(n>=10){
n/=10;
r++;
}
return r;
}

我改框起來的地方

不好意思,這個才是對的。

#include <iostream>
using namespace std;
int length(int);
int main()
{
int n,m;
while (cin >> n >> m){
long int c=0, d[24]={0};
for (;n<=m;n++) {
int a=length(n), pls=n; long int b=0;
for (int i=0;i<a;i++) {
int e=1, f=pls%10;
for (int j=0;j<a;j++) {
e*=f;
}
b+=e; pls/=10;
}
if (b==n) d[c]=b, c++;
}
for (int i=0;i<24;i++) {
if (d[i]==0) break;
cout << d[i] << " ";
}
if (c==0) cout << "none";
cout << endl;
}
return 0;
}
int length(int n){
int r=1;
while(n>=10){
n/=10;
r++;
}
return r;
}
 
#18161: Re:想請問哪裡有錯


gngn15401@gmail.com (冰箱)

學校 : 不指定學校
編號 : 98199
來源 : [123.194.13.42]
最後登入時間 :
2021-08-25 01:43:08
a040. 阿姆斯壯數 | From: [111.252.58.239] | 發表日期 : 2019-06-21 14:40

問題已解決,感謝你的幫忙~

 
ZeroJudge Forum