魔法数字MagicNumberC语言代码

【菜科解读】
题目描述:如果一个数(可能包含前导0)乘以2,如142857*2=285714,依然由原来的数字组成的话,这样的数(142857)就叫Magic Number输入:多组测试数据,每组一行,每行是一个不大于1e10000整数(可能有前导0),遇到EOF标志结束程序输出:判断这个数是不是Magic Number,是的话输出“Magic Number”否则输出“Not Magic Number”样例输入:14285701428578571420588235294117647样例输出:Magic NumberMagic NumberNot Magic NumberMagic Number难度:Very Easy
CODE:
#include #include #define MAX 10001typedef struct {int date[MAX];int len;}BigInt;int magic(BigInt a,int m);int main() {char str[MAX];BigInt a;int i,len;while ( scanf("%s",str) != EOF ) {len = strlen(str);for ( i = 0; i #include #include int main() {int a[10005],old[10],mulold[10];memset(old,0,sizeof(old));memset(mulold,0,sizeof(mulold));char c;int i=0,j,k,bit=0,number=0;bool flag=true;for (;scanf("%c",&c)!=EOF;i=0,bit=0,number=0,flag=true) {//scanf("%c", while(c!='\n') {/*if(i==0&&c=='0') {while(c=='0') scanf("%c", }if(c=='\n')break;*/ a[i]=c-'0'; old[c-'0']=1;i++; scanf("%c", }//for(j=0;j=10) {if(old[tmp/10]==0) {printf("*Not Magic Number \n");flag=false;break;}mulold[tmp/10]=1; }if(old[tmp%10]==0) {printf("*Not Magic Number \n");flag=false;break;} mulold[tmp%10]=1; bit=tmp/10; }//for(k=0;k#include #include int main() {int a[10005],old[10],mulold[10];memset(old,0,sizeof(old));memset(mulold,0,sizeof(mulold));char c;int i=0,j,k,bit=0,number=0;bool flag=true;for (;scanf("%c",&c)!=EOF;i=0,bit=0,number=0,flag=true) {//scanf("%c", while(c!='\n') {/*if(i==0&&c=='0') {while(c=='0') scanf("%c", }if(c=='\n')break;*/ a[i]=c-'0'; old[c-'0']=1;i++; scanf("%c", }//for(j=0;j=10) {if(old[tmp/10]==0) {printf("Not Magic Number \n");flag=false;break;}mulold[tmp/10]=1; }if(old[tmp%10]==0) {printf("*Not Magic Number \n");flag=false;break;} mulold[tmp%10]=1; bit=tmp/10; }//for(k=0;k 魔法,数字,MagicNumberC,语言,代码,题目,描述