如图:求出 [900, 1000]间有偶数个因子(这里因子不含1和自身)的数有多少个,其中最小的一个?
![【5IC-4】求出 [900, 1000]间有偶数个因子的数](https://exp-picture.cdn.bcebos.com/fab31cb375d7997b39b061ebf9dade49600fd99b.jpg)
工具/原料
C++编译器
一、答案:
1、代码如下:#include<iostream.h>int main(){ int i,j荑樊综鲶,n,p,S=0; for(n=900;n<=1000;n++){ for(i=2,j=0;i<n;i++)if(n%i==0)j++; if(j%2==0){ S++; if(S==1)p=n; } } cout<<"共有"<<S<<"个\n其中最小的为:"<<p<<endl; return 0;}
![【5IC-4】求出 [900, 1000]间有偶数个因子的数](https://exp-picture.cdn.bcebos.com/739bc049610f8b56254095db9ce951e10ff8d39b.jpg)
2、运行结果:P.S.你可能会怀疑这个结果,其实900-1000内平方数只有两个,即900=30*30和961=31*31,故只有两个不是偶数,因此在这101个数中,有99个是符合的。
![【5IC-4】求出 [900, 1000]间有偶数个因子的数](https://exp-picture.cdn.bcebos.com/2f2909e951e10ef8d5126e8e2324d8e9cdd2cc9b.jpg)
二、说明:
1、这题也用穷举法,从900-1000:for(n=900;n<=1000;n++)
![【5IC-4】求出 [900, 1000]间有偶数个因子的数](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd22922eaea0e40102a05e2c99b.jpg)
2、记录因子个数:for(i=2,j=0;i<n;i++)if(n%i==0)j++;
![【5IC-4】求出 [900, 1000]间有偶数个因子的数](https://exp-picture.cdn.bcebos.com/ba274f598540102a92a68511b142a07aa110c59b.jpg)
3、判断是否为偶数,并记录: if(j%2==0){ S++; if(S==1)p=n;}
![【5IC-4】求出 [900, 1000]间有偶数个因子的数](https://exp-picture.cdn.bcebos.com/05a320a23a42a07a3a540780673834bb18efc19b.jpg)