进制转换题

张开发
2026/5/22 5:21:51 15 分钟阅读
进制转换题
n转十#include stdio.h #include math.h int main(int argc, char *argv[]) { int ans0,n2022; int k0; while(n) { anspow(9,k)*(n%10); n/10; k; } printf(%d,ans); return 0; }十转n#include stdio.h #include stdlib.h int f2(int x) { int a0; while(x) { ax%2; x/2; } return a; } int f4(int x) { int a0; while(x) { ax%4; x/4; } return a; } int main(int argc, char *argv[]) { int cnt0; for(int i1;i2024;i) { if(f2(i)f4(i)) cnt; } printf(%d,cnt); return 0; }#include stdio.h typedef long long LL; const int p1000000007; const int MAX100000; int max3(int a,int b,int c) { int tab?a:b; return tc?t:c; } int max2(int a,int b) { return ab?a:b; } int main(int argc, char *argv[]) { int n,m1,m2; int a[MAX]; int b[MAX]; scanf(%d %d,n,m1); for(int im1-1;i0;i--) { scanf(%d,a[i]); } scanf(%d,m2); for(int im2-1;i0;i--) { scanf(%d,b[i]); } LL res0; int maxlenmax2(m1,m2); for(int imaxlen-1;i0;i--) { int ai(im1)?a[i]:0; int bi(im2)?b[i]:0; int mulmax3(ai1,bi1,2); res(res*(LL)mul(LL)ai-bi)%p; if(res0) resp; } printf(%lld,res); return 0; }#include stdio.h #include stdlib.h #includemath.h int main() { int n; scanf(%d,n); int count1; int a[1000]{}; int sign1; //标记是否存在优秀的拆分 if(n%21){ //题目要求是2的正整数幂把数转化为二进制整数不断除二若第一个余数为1说明有2的0次方直接输出-1 sign0; } else{ while(n){ int wn%2; a[count]w; nn/2; } } count-1; if(sign0) printf(-1); else{ while(count){ int wpow(2,count-1); if(a[count]!0) printf(%d ,a[count]*w); //如果该项为0则不输出 count--; } } return 0; }

更多文章