VJ 1490 小菜的数码验证

描述

小菜最近在学数的数字数字特征,因此他打算编程来研究一下这个问题.
他的问题很简单,输入一个数N(1000<N<10^31),判断是否能分别被2、3、4、8整除,同时判断它是否有可能(注意只是有可能)
是完全平方数,依次输出1和0来表示能或不能.

格式

输入格式

一个自然数N(1000<N<10^31)

输出格式

5个数,1或者0分别表示能和不能

样例1

样例输入1[复制]

10000000000000000000000000000000000000000000000000000000000000000000000000000

样例输出1[复制]

1
0
1
1
1

限制

各个测试点1s

题解:

能被2整除的数末尾:0, 2, 4, 6, 8 —— 结尾数字都被2整除

能被3整除的数:各个位数上的数字和能被3整除

能被4整除的数:后两位能被4整除

能被8整除的数:后三位能被8整除

判断一个数是否为完全平方数:完全平方数的末尾一位只可能是 —— 0, 1, 4, 5, 6, 9.

CODE:

有点丑。。

#include <iostream>
#include <cstdio>
#include <cstring>
#define REP(i, s, n) for(int i = s; i <= n; i ++)
#define REP_(i, s, n) for(int i = n; i >= s; i --)
#define MAX_N 50

using namespace std;

char s[MAX_N];

int main(){
    scanf("%s", s + 1);
    int l = strlen(s + 1);
    if((int)(s[l] - ‘0‘) % 2 == 0) printf("1\n"); else printf("0\n");
    int sum = 0;
    REP(i, 1, l) sum += (int)s[i] - ‘0‘;
    if(sum % 3 == 0) printf("1\n"); else printf("0\n");
    if(((int)(s[l - 1] - ‘0‘) * 10 + (int)(s[l] - ‘0‘)) % 4 == 0) printf("1\n");
    else printf("0\n");
    if(((int)(s[l - 2] - ‘0‘) * 100 + (int)(s[l - 1] - ‘0‘) * 10 + (int)(s[l] - ‘0‘)) % 8 == 0) printf("1\n");
    else printf("0\n");
    if(s[l] == ‘0‘ || s[l] == ‘1‘ || s[l] == ‘4‘ || s[l] == ‘5‘ || s[l] == ‘6‘ || s[l] == ‘9‘) printf("1\n");
    else printf("0\n");
    return 0;
}    
时间: 2024-10-11 02:35:40

VJ 1490 小菜的数码验证的相关文章

AC620教程 第十五节 8位7段数码管驱动设计与验证

本章导读 电子系统中常用的显示设备有数码管.LCD液晶以及VGA显示器等.其中数码管又可分为段式显示(7段.米字型等)以及点阵显示(8*8.16*16等),LCD液晶的应用可以分为字符式液晶(1602.12864等)以及真彩液晶屏,VGA显示器一般是现在的电脑显示器.芯航线开发板对以上三种设备均提供了硬件接口. 本章将实现FPGA驱动数码管动态显示并提取出实现的电路结构,从电路结构入手编写代码,仿真对设计进行验证.最终板级调试时使用In system sources and probes edi

10-8位7段数码管驱动实验——小梅哥FPGA设计思想与验证方法视频教程配套文档

芯航线--普利斯队长精心奉献 ? 实验目的: 1.实现FPGA驱动数码管动态显示: 2.使用In system sources and probes editor工具,输入需要显示在数码管上的的数据,数码管显示对应数值. 实验平台:芯航线FPGA核心板.数码管_VGA_PS2模块 实验原理: ????电子设计系统中常用的显示设备有数码管.LCD液晶以及VGA显示器等.其中数码管又可分为段式显示(7段.米字型等)以及点阵显示(8*8.16*16等),LCD液晶的应用可以分为字符式液晶(1602.1

八数码的八境界 [转载]

八数码的八境界   研究经典问题,空说不好,我们拿出一个实际的题目来演绎.八数码问题在北大在线测评系统中有一个对应的题,题目描述如下: Eight Time Limit: 1000MS    Memory Limit: 65536K  Special Judge Description The 15-puzzle has been aroundfor over 100 years; even if you don't know it by that name, you've seen it. I

jQuery.Validate.js在Form标签很多的时候验证速度慢的处理。

最近在项目中有遇到一个Form表单中有200多个标签.在提交表单时网页会出现等待时间很长,甚至会出现网页奔溃的情况. 主要的原因是因为在使用jQuery.Validate.js进行Form验证的时候会花销大量时间.这些时间主要用在两个地方: 1.表单中标签的检查对应jQuery.Validate.js中checkForm()方法. 2.检查完标签后需要显示错误或成功信息对应jQuery.Validate.js中ShowErrors()方法. 先前我们是用的jQuery.Validate.js-1

接口自动化测试的&quot;开胃小菜&quot;---简单黑客攻击手段

Web应用系统的小安全漏洞及相应的攻击方式 接口自动化测试的"开胃小菜" 1   写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”行为. 主要目的如下: 了解什么叫安全漏洞 知道什么是api 了解一些获取api的工具 通过对API的认识了解白盒接口测试基本概念和技术 免责声明: 本文主要是以学习交流为目的,而且实验的对象也是通过搜索引擎随机选择的.不以搞破坏为目的,纯粹是以教学为目的,同时也警醒大伙重视基本的互联网安全.当然,本文会对关键字打个马赛克,防止

HDU 1043 POJ 1077 八数码问题

以下内容转载自:http://www.cnblogs.com/goodness/archive/2010/05/04/1727141.html 八数码的八境界 研究经典问题,空说不好,我们拿出一个实际的题目来演绎.八数码问题在北大在线测评系统中有一个对应的题,题目描述如下: Eight Time Limit: 1000MS    Memory Limit: 65536K  Special Judge Description The 15-puzzle has been aroundfor ove

改进身份验证漏洞扫描的五个步骤

你无法保护你不知道的东西.虽然这并不是IT安全领域的咒语,但当你从"可信"用户的角度寻找安全漏洞,或者换句话说,通过身份验证执行漏洞扫描时,这个原则确实是真的. 通过配置漏洞扫描仪来登录到你正在测试的主机,你会看到这个故事的其余部分--即为了节省时间或金钱,或者因为复杂性而经常被忽略的安全方面.事实的真相是,尽管执行身份验证扫描确实需要更多的时间,但从发现的漏洞(以及最终缓解的风险)来看,这种漏洞扫描比通过非身份验证扫描的效果好十倍. 安全团队可以遵循下面五种方法来更有效地准备和执行身

人工智能作业homework2--------A*算法解决八数码

1.启发式搜索算法A 启发式搜索算法A,一般简称为A算法,是一种典型的启发式搜索算法.其基本思想是:定义一个评价函数f,对当前的搜索状态进行评估,找出一个最有希望的节点来扩展. 评价函数的形式如下: f(n)=g(n)+h(n) 其中n是被评价的节点. f(n).g(n)和h(n)各自表述什么含义呢?我们先来定义下面几个函数的含义,它们与f(n).g(n)和h(n)的差别是都带有一个"*"号. g*(n):表示从初始节点s到节点n的最短路径的耗散值: h*(n):表示从节点n到目标节点

A*算法实现 八数码问题

有关八数码问题及其参考: http://wenku.baidu.com/view/87c92ef1ba0d4a7302763a29.html http://blog.csdn.net/damotiansheng/article/details/40017107 http://blog.csdn.net/wsywl/article/details/5726617 下面的代码实现可以在poj上验证其正确性,估价函数可以进行修改. poj 原题网址:http://bailian.openjudge.c