|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入一个整数,判断并输出该整数以内的所有素数(刚学c语言,写了快一个小时,还是不行,麻烦帮帮我)
#include<stdio.h>
int main()
{
int i,j,t,a=0;
printf("请输入一个整数:\n");
scanf("%d",&i);
if(i<2)
printf("非法输入,请重新尝试");
else if(i>=2)
{
for(t=i;t>=2;t--)
{
a=0;
for(j=2;j<t;j++)
{
if(t%j==0)
{
a++;
}
}
if(a>=1)
{
printf("%d\n",t);
}
}
}
}
- #include<stdio.h>
- int main()
- {
- int num, x, y, flag; // 为了区分用x, y (i, j容易混淆)
- printf("请输入一个整数:\n");
- scanf("%d",&num);
- if(num<2)
- {
- printf("非法输入,请重新尝试");
- return 0;
- }
- // 既然num<2非输入,那么剩下的就是正确输入
- // 素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除
- // 既然除了1和它本身外,不能被其他自然数整除, 那么就挨个除,再判断
- // 如: 数字8 ,只要2 - 7 有一个能整除,那么8就不是素数
- // 一个大于1的自然数
- for(x=2; x<=num; x++)
- {
- // 先搞个变量flag做个记号,记录是不是素数,先假设它是
- flag = 1; // 1是
- for(y=2; y<x; y++) // 除了1和它本身外,不能被其他自然数整除。 所以从2开始
- {
- if( (x%y)==0 )
- {
- flag = 0; // 不是
- break;
- }
- }
- // 是素数输出
- if(flag)
- {
- printf("%d ", x);
- }
- }
- return 0;
- }
复制代码
|
|