hdu2097

来源:互联网 发布:电脑版淘宝店招在哪里 编辑:程序博客网 时间:2024/06/12 20:40

   题意:如果一个数,其实十进制各位数的和等于十六进制各位数的和且等于等于12进制各位数的和,那么他是一个sky数,否则不是。(写一个换算成任意进制数的函数即可)

#include <cstdio>#include <cstring>#include <iostream>using namespace std;int get_sum(int n, int p){  // 换成p进制的和  int x = n;  int sum = 0;  while(x){    sum += x%p;    x = x/p;  }  return sum;}int main(){  int n;  while(scanf("%d", &n) != EOF){    if(n == 0) break;    int x1 = get_sum(n, 10);    int x2 = get_sum(n, 12);    int x3 = get_sum(n, 16);    //cout << x1 << x2 << x3 << endl;    if(x1 == x2 && x2 == x3) printf("%d is a Sky Number.\n", n);    else printf("%d is not a Sky Number.\n", n);  }  return 0;}


 

0 0
原创粉丝点击