当前位置: 代码迷 >> 综合 >> XTU 1140 平衡三进制
  详细解决方案

XTU 1140 平衡三进制

热度:98   发布时间:2023-12-04 21:48:14.0

//如果倒叙,那我是否回得到\0为第一个? 
//Q:可以读入字符串,但是到后面就莫名奇妙消失; 且acicc码值的转化也需要处理; 
#include<stdio.h>
#include<string.h>
#include<math.h>
char num[10086] ;
int main()
{int k;scanf("%d",&k);while(k--){scanf("%s",num);int n=strlen(num);//    printf("%d长度\n",n);//调试代码 double sum=0;for(int i=0;i<n;i++){if(num[i]=='-'){num[i]=-1;}else num[i]=num[i]-48;sum+=(pow(3.0,n-i-1)* (int) num[i]);//    printf("%c数组的值\n",num[i]);//前面没问题;问题在于相乘等于0; //    printf("%lf次方的值\n",pow(3.0,n-i));//printf("%.0lf累加的值\n",sum);}printf("%.0lf\n",sum);memset(num,0,sizeof(num));}return 0; }