| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1394 人关注过本帖
标题:c语言求解!大一新生!
只看楼主 加入收藏
suhailan
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-12-20
结帖率:100%
收藏
 问题点数:0 回复次数:8 
c语言求解!大一新生!
题目是输出100到200之间的素数。程序如下
#include<stdio.h>
int main(void)
{
int a,s=0,i;
for(a=100;a<=200;a++)
{s=0;
for(i=1;i<=a;i++)
if(a%i==0) s=s+i;
if(s==a+1) printf("%d\n",a);}
return 0;
}
这个程序是正确的,可是我不理解s的作用,有没有大神能够为我这个新手解答一下啊。谢谢谢谢谢谢!
搜索更多相关主题的帖子: c语言 大一新生 int for i++ 
2017-12-25 11:39
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
if(a%i==0) s=s+i; 这个是把一个数的因子都累加起来  因为素数的因子只有1和本身 所以才有下面 if(s==a+1) 则为素数

DO IT YOURSELF !
2017-12-25 13:37
suhailan
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-12-20
收藏
得分:0 
回复 2楼 wp231957
谢谢大神,我还有个问题想问一下
题目是输入两个正整数m和n,计算m和n的最大公约数。
到最后是不是要比较公约数的大小的?
我的程序是这样的
#include<stdio.h>
#include<stdlib.h>
int main(){
    int m,n;
    scanf("%d  %d",&m,&n);
    int t;
    int a;
    for(t=1;t<=m&&t<=n;t++)
        if(m%t==n%t)
            a=t;
        printf("%d\n",a);
        return 0;
}
我没有比较大小,可是为什么不会输出1,而输出了最大公约数?
2017-12-26 10:39
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
你这for(t=1;t<=m && t<=n;t++)    if(m%t==n%t) a=t; 主体思想就不对啊 你拿几组数自己推演一下

DO IT YOURSELF !
2017-12-26 11:13
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 3楼 suhailan
最大公约数肯定小于两个数中最小的,可以先判断一下,再求。
2017-12-26 12:48
suhailan
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-12-20
收藏
得分:0 
回复 4楼 wp231957
for(t=1;t<=m && t<=n;t++)&nbsp;&nbsp;&nbsp; if(m%t==n%t) a=t;我这句的意思是从1开始一个一个数地算下去,这样的话t应该是有很多值才对的,可是它好像会输出最大的t?这样的话是不是不用比较了?你能不能展示一下你的编写的程序呢?谢谢
2017-12-28 19:44
suhailan
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2017-12-20
收藏
得分:0 
回复 5楼 花脸
不一定是最小的数吧?比如35和21,最大公约数是7啊
2017-12-28 19:45
李伟康
Rank: 2
等 级:论坛游民
帖 子:9
专家分:14
注 册:2017-3-21
收藏
得分:0 
先构建一个判断素数的函数
2017-12-28 22:27
wanmeiwuque
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2017-12-19
收藏
得分:0 
回复 6楼 suhailan
你那输出应该包含在for循环里面它才会每个值都输出吧
2017-12-29 10:56
快速回复:c语言求解!大一新生!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018366 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved