输入一个数《1000 如果能被11....整除则显示
输入31 结果就是15个1
输入121 num和s溢出导致无限循环
1,怎么才能表示一个超过unsinged long界限的整数呢?
2.我看百度上有说可以用long double 的。如果用了,这里的整除判断 while(num%x!=0) 该怎么改写?
#include<stdio.h>
int main(){
int x;
unsigned long s;
int n = 1;
unsigned long num = 1;
scanf("%d",&x);
while(num%x!=0) {
printf("%lu can not divide %d\n", num,x);
unsigned long temp;
temp = num;
num = 10*num + 1;
n++;
}
s = num/x;
printf("%lu divide %d is %lu\n",num,x,s);
return 0;
}