永发信息网

求教IEnumerable<int>遍历的问题

答案:2  悬赏:20  手机版
解决时间 2021-02-07 20:11
求教IEnumerable<int>遍历的问题
最佳答案
#include
#include
#include

using namespace std;

int in(){                          //读入优化 ,加快读入速度 
    int x=0;char ch=getchar();
    while(ch>'9' || ch<'0') ch=getchar();
    while(ch>='0' && ch<='9')   x=x*10+ch-'0',ch=getchar();
    return x;
}

#define maxn 101

int n,m,ans;
int a[maxn];
bool no_prime[maxn];

void get_prime(){                  //筛选法求素数 
    int x=sqrt(maxn);
    no_prime[1]=no_prime[0]=true;
    for(int i=2;i<=x+1;i++)
        if(!no_prime[i])
            for(int j=i*i;j<=maxn;j+=i)
                no_prime[j]=true;
}

void prework(){
    n=in();m=in();ans=0;
}

void dfs(int t){
    if(t>n){                     //如果到达n位说明构造成功 
        ans++;
        return;
    }
    int sum=0;
    if(t>=m)
        for(int i=t-1;i>t-m;i--)    //sorry这里多算了一位,将>=改成> 
            sum+=a[i];              //计算前 m-1位的值 
    for(int i=0;i<=9;i++)
        if(!no_prime[sum+i]){       //如果加上这一位是一个质数才向下遍历 
            a[t]=i;
            dfs(t+1);
        }
}

void mainwork(){
    dfs(1);                         //从第一位开始枚举,深度优先搜索 
    printf("%d\n",ans);
}

int main(){
    //freopen("x.in","r",stdin);
    int T=in();
    get_prime();
    while(T--){
        prework();
        mainwork();
    }
    return 0;
}
全部回答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include #include #include usingnamespacestd; intin(){                          //读入优化 ,加快读入速度      intx=0;charch=getchar();     while(ch>'9'|| ch    while(ch>='0'&& ch    returnx; } #define maxn 101 intn,m,ans; inta[maxn]; boolno_prime[maxn]; voidget_prime(){                  //筛选法求素数      intx=sqrt(maxn);     no_prime[1]=no_prime[0]=true;     for(inti=2;i        if(!no_prime[i])             for(intj=i*i;j                no_prime[j]=true; } voidprework(){     n=in();m=in();ans=0; } voiddfs(intt){     if(t>n){                     //如果到达n位说明构造成功          ans++;         return;     }     intsum=0;     if(t>=m)         for(inti=t-1;i>t-m;i--)    //sorry这里多算了一位,将>=改成>              sum+=a[i];              //计算前 m-1位的值      for(inti=0;i        if(!no_prime[sum+i]){       //如果加上这一位是一个质数才向下遍历              a[t]=i;             dfs(t+1);         } } voidmainwork(){     dfs(1);                         //从第一位开始枚举,深度优先搜索      printf("%d\n",ans); } intmain(){     //freopen("x.in","r",stdin);     intt=in();     get_prime();     while(t--){         prework();         mainwork();     }     return0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
每天惠红玲超市怎么去啊,有知道地址的么
长安奔奔 1.3 买了两年了 行驶18000公里 夏天
袋袋熊早教中心怎么去啊,我要去那办事
想知道: 昆明市 从岔街1号花卉市场到新闻路口
我女朋友和我打电话,如果她周围有人叫她,她
现经营一家家纺店,店面面积460平米,总投入5
阳光幼儿园(南环东路)地址在什么地方,想过去
在王府井买的翡翠和和田玉,一共花了3000多,
自古哪个不是有才的人 都很高傲和都很狂, 文
梦幻西游角色哪个女角色有最多人选
水滴型300cc假体有多大
北京金贝巨鹰少儿武术跆拳道教育基地地址在什
对下列甲~丁图的描述中,正确的是DA图甲是生
芙蓉兴盛便利超市怡果超市地址在哪,我要去那
速腾油耗增加是什么原因
推荐资讯
杨树生诊所这个地址在什么地方,我要处理点事
优美的音韵 像灵泉一般流了出来是用了什么修
乒乓球单淘汰赛想要把前八名排出来详细的对阵
温馨旅馆(新朝阳购物中心西南)怎么去啊,我要
蜡烛的蜡用什么能洗掉
传其广告·图文地址在什么地方,想过去办
读8月份中纬度某地区海平面等压线图,回答下
二极管装反了是不是相当于断路
在《水浒传》中使用宣花大斧的是谁
Nearlyeleventhousandpeoplehavebeenarrested
郑州待遇好的企业都有哪些?
川朴ninoo(吉曼店)地址好找么,我有些事要过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?