算法——进制转换

算法——进制转换sky 数 描述 AI 有一天发现一种奇怪的四位数它的十六进制 十进制 十二进制的数字之和是相同的 这样的数就被称为 sky 数 例如 2992

大家好,我是讯享网,很高兴认识大家。
---------------------------------------------sky 数--------------------------------------- 描述 AI有一天发现一种奇怪的四位数它的十六进制,十进制,十二进制的数字之和是相同的,这样的数就被称为sky数。 例如2992,其四位数字之和为2+9+9+2=22,它的十六进制数为BB0,其各位数字之和也为22,同时它的十二进制 数表示1894,其各位数字之和也为22。下面你要对一些sky数进行判断。 输入 输入多个四位正整数,遇到0代表输入结束。 输出 对于输入的每一个数,进行判断,如果是sky数,就输出“YES”,相反则输出“NO”。 输入样例 1 2992 1234 0 输出样例 1 YES NO 

讯享网
讯享网#include<iostream> using namespace std; int tensix(int n) { 
    int sum=0; int a; while(n>0) { 
    a=n%16; n=n/16; sum=sum+a; } return sum; } int tentwo(int n) { 
    int sum=0; int a; while(n>0) { 
    a=n%12; n=n/12; sum=sum+a; } return sum; } int ten(int n) { 
    int sum=0; int a; while(n>0) { 
    a=n%10; n=n/10; sum=sum+a; } return sum; } int main() { 
   while(1) { 
    int a; cin>>a; if(a==0) break; int b=tensix(a); int c=tentwo(a); int d=ten(a); if(b==c&&c==d) cout<<"YES"<<endl; else cout<<"NO"<<endl; } } 

总结:
进制转化模板:
数值n转化为k进制


讯享网

#include<iostream> using namespace std; int main() { 
    int n,k; cin>>n>>k; int a=0,m=0; int num[10086]; while(n>0) { 
    a=n%k; n=n/k; num[m]=a; m++; } for(int i=m-1;i>=0;i--) cout<<num[i]; } 
小讯
上一篇 2025-02-08 21:00
下一篇 2025-03-17 22:03

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/55366.html