前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >C语言例题:求100-300之间的全部素数(质数)及相关例题

C语言例题:求100-300之间的全部素数(质数)及相关例题

作者头像
岳泽以
发布2022-10-26 16:05:14
发布2022-10-26 16:05:14
1.5K00
代码可运行
举报
文章被收录于专栏:岳泽以博客岳泽以博客
运行总次数:0
代码可运行

1.求100-300之间的全部素数(质数)

素数:除了1和这个数本身之外,没有第二个数可以被这个数整除。

n:n%2==0 n%3==0...n%(n-1)==0

代码语言:javascript
代码运行次数:0
复制
#include<stdio.h>
int main(){
    for(int i=100;i<=300;i++){
        int flag=0;//素数
        for(int j=2;j<=i-1;j++){
            if(i%j==0){
                flag=1;//不是素数
                break; 
            }
        } 
        if(flag==0)printf("%d\n",i);
    }
    return 0;
} 

2.1!+2!+3!+...+50!=?

5!=1*2*3*4*5

代码语言:javascript
代码运行次数:0
复制
#include<stdio.h>
int main(){
    double sum=0;
    double t=1;
    for(int i=1;i<=50;i++){
        t=t*i;//t=1 t=1*2 t=1*2*3 t=1*2*3*4
        sum=sum+t;
    }
    printf("%e",sum);
    return 0;
} 

另一种解法:

代码语言:javascript
代码运行次数:0
复制
#include<stdio.h>
int main(){
    double sum=0;
    for(int i=1;i<=50;i++){
        //1.求i的阶乘
        double t=1; 
        for(int j=1;j<=i;j++){
            t=t*j;
        }
        sum=sum+t;
    }
    printf("%e",sum);
    return 0;
} 

3.一个数如果正好等于这个数的因子之和,称这个数为“完数”。求2-1000之间所有的完数。

n:n%1==0 n%==0.....n%(n-1)==0

代码语言:javascript
代码运行次数:0
复制
#include<stdio.h>
int main(){
    for(int i=2;i<=1000;i++){
        int sum=0;
        for(int j=1;j<=(i-1);j++){
            if(i%j==0)sum=sum+j;
        }
        if(i==sum)printf("%d\n",i);
    }
    return 0;
} 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 03 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.求100-300之间的全部素数(质数)
  • 2.1!+2!+3!+...+50!=?
  • 3.一个数如果正好等于这个数的因子之和,称这个数为“完数”。求2-1000之间所有的完数。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档