lalalal


私信TA

用户名:wuben

访问量:4158

签 名:

等  级
排  名 3374
经  验 1947
参赛次数 4
文章发表 3
年  龄 0
在职情况 学生
学  校 不知道
专  业

  自我简介:

解题思路:这一题最好是一步一步的来,将问题拆分成多个小的问题。我写的程序是很乱的,大家多包涵一下呀。

注意事项:

参考代码:#include<stdio.h>
#include<stdlib.h>
int zhuang(int m,int f[]){
 int y=0;
 while(m){
  f[y++]=m%10;
  m=m/10;
 }
 return y;
}
int xianjia(int f1[],int f2[],int y,int n){
 int i=0,u;
 for(;i<y;i++){
  u=f1[i]+f2[i];
  if(u>=n){
   f1[i+1]+=u/n;
   f1[i]=u-n;
  }else{
   f1[i]=u;
  }
 }
 if(u>=n){
  return y+1;
 }else{
  return y;
 }
}
int panduan(int f1[],int y){
 int j=0;
 for(int i=0;i<=y/2;i++){
  if(f1[i]!=f1[y-1-i]){
   j=1;
  }
 }
 return j;
}
int main(int agrc,char*agrv[]){
 int n,m,f1[15]={0},f2[15]={0};
 scanf("%d %d",&n,&m);
 int u=1,y;
 y=zhuang(m,f1);
 while(u<=30){
  for(int i=0,k=y;i<y;i++){
   f2[--k]=f1[i];
  }
  y=xianjia(f1,f2,y,n);
  int duan=panduan(f1,y);
  if(!duan){
   printf("STEP=%d",u);
   exit(0);
  }
  u++;
 }
 printf("Impossible!");
}

 

0.0分

0 人评分

  评论区

  • «
  • »