#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;
}
#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}
這些是範圍內的數字
{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
{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
那我試試看,借我程式碼
{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
......
{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)
麻煩你了
#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
#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
#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;
}
下面是更改過的
我改框起來的地方
不好意思,這個才是對的。