69,373
社区成员
发帖
与我相关
我的任务
分享
if (memcmp(num + nl - fl, num + nl - (fl << 1), fl)) {
if (ret) {
break; // 要加上这个
}
fl--;
} else {
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char num[128];
int nl, fl, ret = 0;
if (!*gets(num)) {
printf("input error!\n");
return -1;
}
nl = strlen(num);
for (fl = nl >> 1; fl; ) {
if (memcmp(num + nl - fl, num + nl - (fl << 1), fl)) {
fl--;
} else {
ret = fl;
if (fl & 1) {
break;
}
fl >>= 1;
}
}
if (!ret) {
printf("no factor found!\n");
return -2;
}
printf("factor is: %s", num + nl - ret);
return 0;
}
if(x-d==z)//用x-z得的值判断是否等于z !!(此处循环跳不出)
z=d*10;//z为整形变量,思路是3=0.(3)*10
x=d*10;//x为double型,x=3.(3)
if(x-d==z)//用x-z得的值判断是否等于z !!(此处循环跳不出)