以下是引用露营地在2015-9-16 14:57:09的发言:
!k%j就是说如果k%j=0的话 那么就是真的 就执行咯
!k%j就是说如果k%j=0的话 那么就是真的 就执行咯
是的!就是单目运算符-取反运算
剑栈风樯各苦辛,别时冰雪到时春
#include <stdio.h> #include <conio.h> int isprime(int n) { int step=4,i; if(n==2||n==3||n==5)return 1; if((n%2==0)||(n%3==0)||(n%5==0))return 0; for(i=5;i<n;i+=step) { if(!(n%i))return 0; step^=6; } return 1; } main() { int j, k,co; printf("please input an integer number between 2 and 10000: "); scanf("%d", &k); printf("the prime factor(s) of %d is :", k); //这句话说明程序功能是找素因数 for(j=2;j<=k;j++) { co=1; if(!(k%j)) { if(isprime(j)) { printf("\n%4d",j); k/=j; while(!(k%j)){k/=j;co++;} printf(":\t%d",co); } } } getch(); }