为以后出题做准备 NO.1

在社会这个大环境下  人们逐渐的麻木不仁   唯有善良的天使  许筱宥  一直在守护内心世界

但是她却有着出其的喜好  那便是对一切能整除4的数感兴趣   同时她还认为素数是最美丽的数字

所以问题来了  给你一个字符串   试问这里面有多少个能整除4   即子串中有多少个是4的倍数

因为许姑娘非常喜欢素数便想让素数尽可能的多  她就自定义 1和0 都是素数

Input

  第一行是数字T(0<T<1000)  表示下面有T组实例

  接下的T行    每行一个长度为N(0<N<100000)的字符串

Output

  输出有多少个4的倍数   占一行

  输出这个数字是否为素数  如果是就输出“Yes”,不是就输出“No” 占一行

Sample Input

   5

   1

   12

   123

   1234

   44444

Sample Output 

  0
  Yes

  1
  Yes

  1
  Yes

  2
  Yes 

  15
  No

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<math.h>
using namespace std;
#define INF 0x3f3f3f3f
#define LL long long
#define N 100009
int k=0;
int a[N],q[N];
char str[N];
void qq()
{
    for(int i=2;i<N;i++)
    {
        if(!a[i])
        {
            q[k++]=i;
            for(int j=i+i;j<N;j+=i)
                a[j]=1;
        }
    }
    return ;
}
int main()
{
    int T;
    scanf("%d",&T);
    qq();
    while(T--)
    {
        scanf("%s",str);
        int len=strlen(str);
        LL s=0;
        if(str[0]==‘4‘)
            s++;
        for(int i=1;i<len;i++)
        {
            if(str[i]==‘4‘||str[i]==‘8‘)
                s++;
            if(((str[i-1]-‘0‘)*10+str[i]-‘0‘)%4==0)
                s+=i;
        }
        printf("%lld\n",s);
        int m=(int)sqrt(s);
        int w=0;
        for(int i=0;q[i]<=m;i++)
        {
            if(s%q[i]==0)
            {
                w=1;
                printf("No\n");
                break;
            }
        }
        if(w==0)
            printf("Yes\n");
    }
    return 0;
}
时间: 2024-08-25 21:44:54

为以后出题做准备 NO.1的相关文章

为以后出题做准备 NO.3 连续的子串中有多少个满足第k大的数 大于等于m

世界给了我寻找光明的眼眸    却让我在黑暗中独自摸索   我自诩不是什么坏人   但始终成为不了一个好人. 许筱宥百般无聊,便翻起了一起的数学书  看起了数列 一个长度为n的数列,他又写下了一个数m,他想知道这个数列中有多少个区间里的第k大的数不小于m,当然首先这个区间必须连续 至少要有k个数 输入 第一个数表示有T组事例 然后有n,m,k 最后有长度为n的数组   (0<n<10000)(k>0) (0<m<n) 输出 对于每组数据输出一行一个数表示答案. #includ

团队作业8——测试与发布(Beta阶段)

Beta版本测试报告 BUG: 修复的BUG: 1.除法运算时,偶尔会出现判断结果出错的问题 无法修复的BUG: 1.在上传头像之后因为插件的原因头像会显示整张图片而不是截取的部分,必须刷新才能正常显示 2.IE内核的浏览器无法正确执行JS代码 在以后的版本修复的BUG: 1.当排行榜某个难度参与人数小于3人时,用户对应的头像会显示错误 场景测试 用户:小学一到六年级学生以及他们的老师 需求: 1.老师:设定难度 2.学生:做题,查看排行榜 运行环境:IE,Chrome,Firefox,Edge

为什么学习C语言这么久,看的懂代码,做不出题没项目

我看得懂别人的程序,可是我自己却写不出来,我应该怎么办啊?你了解这些嘛? 你只是能从别人书写的代码知道每一步都做些什么吧? 你明白别人的解题思路吗? 你知道别人为什么要用那样的算法吗? 如果你看着题目,你能写出实现同一功能的代码吗? 你能知道别人在写这个程序的过程中会遇到什么样的问题吗? 你能在看了别人的程序之后写出比他好的代码吗? 你能用另一种算法写出实现同一程序的代码吗? 你真的能看懂别人的程序吗?创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家

这两天做了很多随机函数的用法(下面是一个出题实验)。

#include "stdio.h" #include "stdlib.h" #include "time.h" main() { int a,b,c,x,d,f=0,g=0; srand((unsigned)time(NULL)); a=rand()%1000+1; b=rand()%1000+1; printf("请选择题目\n1.1-1000的加法运算\n2.1-1000的减法运算\n3.1-1000的乘法运算\n4.1-1000

软件工程第一次作业,小学生四则运算的出题程序

一.背景 阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题,比如: C/C++.C#.Java.Python.VB.JavaScript.Perl…… 具体要求如下: 能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!) 除了整数外,还要支持真分数的四则运算 请大家用任何一种自己擅长的语言来编写这段程序,并把程序的介绍和自

做衡八的日子(转自VFleaking)

随着我A掉了1149,衡八的第二页也就被我干掉了一半,我的做题进度向第二页的后半页挺进. 想起去年八月的NOI给我的那个沉痛的打击,我至今仍感慨万分.一直以来,小学老师.初中老师总在要我们写一些大谈成功的文章,可是在我参加NOI之前,我根本没有真正悟出我在作文中论述的东西.是那次NOI告诉我,信息学不是什么酱油学科,那群高中生们比我考得好,并不是因为我运气不好,而是因为他们每天都在做题,而我则在研究一些其他的东西.不认真地打酱油,可以拿NOIP一等奖,可以进省队,但是绝对瞒不过NOI的火眼精金.

2017雅礼省选集训做题记录

嘛,最近在补雅礼省选前集训的题.都是我会做的题..那一定是最水的那些题啦 题目在loj.ac上都有.过段时间如果搬了雅礼NOI集训的题应该也会做做的吧.. Day1 T1 一道经典套路题,做法跟UOJ #228基础数据结构练习题类似. 使用线段树维护.考虑相邻两个数的差值最多变化log次.也就是说,对于每个区间,只要操作二进行大概log次就能使得这个区间内所有数完全一样.所以对于操作二,只要记录一下区间最大最小值,就能直接打标记或者暴力DFS下去. 和UOJ那个题一样,注意一个特殊情况,就是一个

Shoi2017试题泛做

一口气做完六个省的省选(误) Day1 [Shoi2017]期末考试 枚举最大的天数,然后代价贪心地O(1)计算. 1 #include <cstdio> 2 #include <algorithm> 3 4 #define R register 5 typedef long long ll; 6 #define maxn 100010 7 #define cmax(_a, _b) (_a < (_b) ? _a = (_b) : 0) 8 #define cmin(_a,

软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想

对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处有以下几点: 1. 由于LL1制导翻译是一项成熟且可靠的技术,并且其递归下降算法易于改编为算式生成算法: 2. 我们有系统的方法可以获得较复杂表达式的LL1文法,则可以方便地生成形式丰富的算式: 3.由于四则混合运算中需要考虑运算优先级的问题,那么采用LL1分析器可以很方便的实现计算表达式的功能: 4.当用户