1, 輸出一個數的各個位數code
<!-- lang: cpp --> void print_every_num(long num){ while(num){ cout<<num%10<<endl; num=num/10; }
2,求某個數以內素數input
<!-- lang: cpp --> void isprime(long dig){ //判斷某個數是否爲素數 int i; for(i=2;i<=dig/2;i++){ //或者<=sqrt(dig) if(dig%i==0){ break; } if(i==dig/2){ printf("%d\n",dig); } } }
<!-- lang: cpp --> void print_prime(long num){ int j; num>=2?printf("%d\n%d\n",2,3):printf("please input num>2! "); for(j=2;j<=num;j++){ isprime(j); } }
篩選法求素數遍歷
<!-- lang: cpp --> void print_prime(long num){ static bool prime[1000]; //初始化爲false //memset(prime,false,sizeof(prime)); int j,i; for(j=4;j<=num;j+=2){ //先剔除偶數 prime[j]=true; } for(i=3;i<=num/2;i+=2) //再篩選剔除三、五、七、9......的倍數。 for(j=i*2;j<=dig;j++){ if(j%i==0){ prime[j]=true; } } for(i=0;i<=num;i++){ //遍歷求出素數 if(!prime[i]){ printf("%d\t",i); } }