남방 우편 OJ 1153 Ray 수
시간 제한(일반/자바) :
1000 MS/ 3000 MS 실행 메모리 제한:32768 KByte
총 제출:219 테스트 통과:111
경기 설명
레이 는 어 렸 을 때 부터 특이 한 것 을 좋아 했 고 천성적으로 숫자 에 민감 했다.우연 한 기회 에 그 는 재 미 있 는 네 자리 2992 를 발견 했다.이 숫자 는 십 진법 에 따 르 면 네 자리 숫자의 합 은 2+9+2=22 이 고 16 진수 BB0 이 며 네 자리 숫자의 합 도 22 이다.이 동시에 12 진법 은 1894 를 나타 내 고 네 자리 숫자의 합 도 22 이다.아하.우연 이 네.레이 는 이런 네 자릿수 를 매우 좋아한다.그의 발견 으로 인해 우 리 는 레이 수 라 고 명명 했다.하지만 이런 숫자 를 판단 하 는 것 은 좀 번 거 롭 습 니 다.그럼 지금 은 10 진법 의 네 자릿수 가 레이 수 인지 아 닌 지 판단 해 주세요.
입력
입력 은 네 자리 의 정 수 를 포함 하고 0 이면 입력 이 끝 납 니 다.
출력
n 이 Ray 이면 출력\#n is a 레이 번호.",그렇지 않 으 면 출력"\#n is not a Ray Number.”。결과 마다 한 줄 을 차지한다.메모:\#n 은 읽 은 n 값 을 표시 합 니 다.
샘플 입력
2992 1234 0
샘플 출력
2992 is a Ray Number. 1234 is not a Ray Number.
제목 출처
HDU OJ
#include<iostream>
using namespace std;
bool is_ray(int &n){
int sum,temp=n,s=0;
while(temp){
s += temp%10;
temp /= 10;
}
sum = s;
temp = n;
s = 0;
while(temp){
s += temp%16;
temp /= 16;
}
if(sum != s){
return 0;
}
temp = n;
s = 0;
while(temp){
s += temp%12;
temp /= 12;
}
if(sum != s){
return 0;
}
return 1;
}
int main(){
int n;
while(cin>>n && n){
if(is_ray(n)){
cout<<n<<" is a Ray Number."<<endl;
}else{
cout<<n<<" is not a Ray Number."<<endl;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ACM - 계산 기하학 적 Pick - up sticks -- poj 2653Description Stan has n sticks of various length. The data for each case start with 1 <= n <= 100000, the number of stick...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.