笔试题
__Ryan
非典型性程序员~
展开
-
超级素数幂
如果一个数字能表示为p^q(^表示幂运算)且p为一个素数,q为大于1的正整数就称这个数叫做超级素数幂。现在给出一个正整数n,如果n是一个超级素数幂需要找出对应的p,q。#include #include using namespace std;//判断一个数是否是素数bool bIsPrime(int n){ if (n <=1) { return fa原创 2017-03-18 21:11:52 · 827 阅读 · 4 评论 -
序列和
给出一个正整数N和长度L,找出一段长度大于等于L的连续非负整数,他们的和恰好为N。答案可能有多个,我我们需要找出长度最小的那个。例如 N = 18 L = 2:5 + 6 + 7 = 18 3 + 4 + 5 + 6 = 18都是满足要求的,但是我们输出更短的 5 6 7输入数据包括一行:两个正整数N(1 ≤ N ≤ 1000000000),L(2 ≤ L ≤ 100)转载 2017-03-19 21:01:30 · 733 阅读 · 2 评论 -
页码统计
牛牛新买了一本算法书,算法书一共有n页,页码从1到n。牛牛于是想了一个算法题目:在这本算法书页码中0~9每个数字分别出现了多少次? 统计在1-n个数字中,0、1、2、3……9各出现了多少次首先简化,判断1-n个数字中,i出现的次数,0//计算1-n的整数中,i出现的次数int nCount(int n, int i){ int num = 0; for原创 2017-03-18 22:29:29 · 2983 阅读 · 0 评论 -
将字符串转换为整数
输入一个字符串,将其转换为整数。比如输入“123”,输出为123.重点在各种边界条件的处理:负数、有非数字、溢出溢出的处理有点问题,希望有人能指出如何改正#include using namespace std;bool strToInt(const char *str, int &num){ num = 0; bool isMins = false; //是原创 2017-03-21 12:52:02 · 417 阅读 · 0 评论 -
平衡数
平衡数的定义:将一个数分成左右两部分,分别成为2个新数。左右不分必须满足:1、左边和右边至少存在一位2、左边数的每一位相乘如果等于右边数每一位相乘则这个数称为平衡数。如:1221这个数,分成12和21,1*2 = 2*1,是个平衡数。1236这个数,分成123和6,1*2*3 = 6,是个平衡数。输入:一个正整数(int范围)输出:如果是平衡数输出“YES”,否原创 2017-03-23 20:59:30 · 23682 阅读 · 0 评论