-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
뒤집은 소수문제
23.07.16 12:42 작성 조회수 284
0
제가 혼자 숫자 뒤집는 코드를 짜봤는데 혹시 여기서 무엇이 잘못되었는지 알려주실 수 있나요...? 콘솔창엔 아무것도 뜨지않았습니다.
답변을 작성해보세요.
0
김태원
지식공유자2023.07.23
안녕하세요^^
b 배열의 크기를 1000정도의 크기로 잡고 reverse와 isPrime 함수를 수정했습니다. 확인해 보세요.
#include <iostream>
using namespace std;
int reverse(int x){
int b[1001]={0};
int r=0;
int cnt=0;
int c=1;
while(x>0){
b[cnt]=x%10;
x=x/10;
cnt++;
}
for(int i=1;i<=cnt;i++){
r+=b[cnt-i]*c;
c*=10;
}
return r;
}
bool isprime(int x){
int i,j,flag;
for(i=2;i<x;i++){
if(x % i == 0) return false;
}
return true;
}
int main(){
freopen("input.txt","rt",stdin);
int i,n;
int a[101]={0};
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
a[i]=reverse(a[i]);
}
for(i=0;i<n;i++){
if(isprime(a[i])==true){
cout<<a[i] << endl;
}
}
return 0;
}
0
0
dongdong
질문자2023.07.17
#include <iostream>
using namespace std;
int reverse(int x){
int b[1000001]={0};
int r=0;
int cnt=0;
int c=1;
while(x>0){
b[cnt]=x%10;
x=x/10;
cnt++;
}
for(int i=0;i<=cnt;i++){
r+=b[cnt-i]*c;
c*=10;
}
return r;
}
bool isprime(int x){
int i,j,flag;
for(i=2;i<x;i++){
flag=1;
for(j=2;j*j<=i;j++){
flag=0;
break;
return false;
}
return true;
}
}
int main(){
freopen("input.txt","rt",stdin);
int i,n;
int a[101]={0};
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
a[i]=reverse(a[i]);
}
for(i=0;i<n;i++){
if(isprime(a[i])==true){
cout<<a[i];
}
}
return 0;
}
0
김태원
지식공유자2023.07.16
위에 코드에서
for(int i = 1; i <=cnt; i++){
r += b[cnt-i] * c;
c *= 10;
}
와 같이 변수 i를 1부터 돌려보세요.
0
0
답변 6