题目:判断101到200之间的素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
遍历所有从2到sqrt的数,是否存在整除现象,等于sqrt时输出
#include<stdio.h>
int main()
{
int i,j,count=0;
for(i=101;i<=200;i++)
{
for(j=2;j<i+1;j++)
{
if(i%j==0)
break;
}
if(j>=i)
{
printf("%d ",i);
count++;
if(count%5==0)
printf("\n");
}
}
return 0;
}
题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
- 如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外 打印出即可。
- 但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。
- 如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
#include<stdio.h>
int main()
{
int i,n;
printf("请输入数据:");
scanf("%d",&n);
printf("%d= ",n);
; for(i=2;i<=n;i++)
{
while(n%i==0)
{
printf("%d ",i);
n=n/i;
if(n!=1)
printf("*");
}
}
}