(编程小白,自学备考,如有错误,还请批评指正)
#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<40;i++)
{
if(i%2!=0&&i%5!=0)
printf("%d/40 ",i);
}
return 0;
}
如何让计算机自己求出2和5?
#include<stdio.h>
int main()
{
int i,yin[40],j=0,k;
//找出40的所有因子 2 4 5 8 10 20
for(i=2;i<40;i++)
{
if(40%i==0)
yin[j++]=i;
}
printf("1/40 ");//1单独输出
for(i=2;i<40;i++)
{
if(40%i!=0)//i不是40的因子但有可能是因子的倍数,如15是5的倍数但不是40的因子
{
for( k=0;k<j;k++)
{
if(i%yin[k]==0)//i是因子的倍数时跳出循环,此数不是最简分子
break;
}
if(k>=j)//经过完整的for循环,不是40的因子的倍数
printf("%d/40 ",i);
}
}
return 0;
}
不考虑偶数
#include<stdio.h>
int main()
{
int i,yin[40],j=0,k;
//找出40的所有不为偶数的因子
//4 8 10 20 都是偶数,
for(i=3;i<40;i+=2)
{
if(40%i==0)
yin[j++]=i; //因子只有5
}
for(i=1;i<40;i+=2)
{
for( k=0;k<j;k++)
{
if(i%yin[k]==0)//i是因子5的倍数时跳出循环,此数不是最简分子
break;
}
if(k>=j)//经过完整的for循环,不是40的因子的倍数
printf("%d/40 ",i);
}
return 0;
}