读C#程序
阅读下面程序,请回答如下问题:
问题1:这个程序要找的是符合什么条件的数?
问题2:这样的数存在么?符合这一条件的最小的数是什么?
问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间精确到分钟(电脑:单核CPU 4.0G Hz,内存和硬盘等资源充足)。
问题4:在多核电脑上如何提高这一程序的运行效率?
(注:该程序、用C#语言编写,但是只要有C语言基础完全没有阅读压力,如果对部分语句不懂请自行查询)
要求:将上述问题结果写到博客上。
using System;
using System.Collections.Generic;
using System.Text;
namespace FindTheNumber
{
class Program
{
static void Main(string[] args)
{
int [] rg =
{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};
for (Int64 i = 1; i < Int64.MaxValue; i++)
{
int hit = 0;
int hit1 = -1;
int hit2 = -1;
for (int j = 0; (j < rg.Length) && (hit <=2) ; j++)
{
if ((i % rg[j]) != 0)
{
hit++;
if (hit == 1)
{
hit1 = j;
}
else if (hit == 2)
{
hit2 = j;
}
else
break;
}
}
if ((hit == 2)&& (hit1+1==hit2))
{
Console.WriteLine("found {0}", i);
}
}
}
}
}
问题1:这个程序是要找1到Int64.MaxValue即9223372036854775807内, 不能被rg[]数组中相邻的两个数整除,但可以被其它28个数整除的数;
问题2:存在。我按照对问题1的理解,用java语言写了一个程序,从这30个数中取出连续两个数a,b。剩下的数求最小公倍数num_min,然后num_min对a、b分别取余不得0则输出;程序如下:
package test;
public class ccj {
public static void main(String[] args) {
int a[] = {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};
int b[] = new int[28];
/*
* 从头至尾一次从a数组中取两个连续的数后,将a数组保存到b数组
*/
for(int m =2;m<31;m++){
int n=m+1;
int j = 0;
for(int i =0; i<a.length;i++){
if(a[i] == m || a[i] == n){
i++;
}
else {
b[j] = a[i];
j++;
}
}
long num_min = b[0];//记录b数组中所有数的最小公倍数
for(int p = 0;p<b.length-1;p++){
num_min = minmultiple(num_min, b[p+1]);
}
/*
* 判断最小公倍数能否整除所取的两个数,若不能则输出
*/
if(num_min%m != 0&& num_min%n != 0){
System.out.println("-->"+num_min);
}
}
}
/**
* 求两个数最大公约数方法
*/
public static long maxdivisor(long a,long b){
if(a>=b){
a= a%b;
if(a != 0){
return maxdivisor(a,b);
}
else return b;
}
else
{
b = b%a;
if(b != 0){
return maxdivisor(a,b);
}
else return a;
}
}
/**
* 求两个数最小公倍数方法
*/
public static long minmultiple(long a, long b){
long num = maxdivisor(a, b);
return a*b/num;
}
}
输出结果为
所以,最小的数为2123581660200。
问题3、4:不太会.正在查找资料学习中....
读C#程序的更多相关文章
- 读C#程序(第三周)
阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...
- 读《程序员的SQL金典》[4]--SQL调优
一.SQL注入 如果程序中采用sql拼接的方式书写代码,那么很可能存在SQL注入漏洞.避免的方式有两种: 1. 对于用户输入过滤敏感字母: 2. 参数化SQL(推荐). 二.索引 ①索引分类 聚簇索引 ...
- 读《程序员的SQL金典》[2]--函数
一.数学函数 1.RAND SELECT RAND () ---0.302870228294199 取0-1之间的随机小数. 2.小数取整 CEILINT(data)舍掉小数部分并向上取整. FLOO ...
- 读《程序员的SQL金典》[1]--基础数据检索
前言 <程序员的SQL金典>这本书是杨中科老师的,拜读了一下,简单做了读书笔记供以后翻阅.仅供学习分享,要想细读的话推荐购买原版呀! 这次读书的时候用了新的办法把看书计划进行了量化,虽然简 ...
- 读C#程序最小公倍数答案就是:2123581660200
阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...
- 读《程序员的SQL金典》[3]--表连接、子查询
一.表连接-JOIN 1. 自连接实例 查询类型相同的订单信息. SELECT O1 .*,O2.* FROM T_Order O1 JOIN T_Order O2 ON O1 .FTypeId= O ...
- 如何快速读懂大型C++程序代码
要搞清楚别人的代码,首先,你要了解代码涉及的领域知识,这是最重要的,不懂领域知识,只看代码本身,不可能搞的明白.其次,你得找各种文档:需求文档(要做什么),设计文档(怎么做的),先搞清楚你即将要阅读是 ...
- 传播正能量——做一个快乐的程序员
引子 今天在博客园看到施瓦小辛格的文章我们搞开发的为什么会感觉到累,顿时有感而发.自己本来不擅长写文章,更不擅长写这种非技术性的文章,但是在思绪喷薄之际,还是止不住有很多话要说.针对从客观上说&quo ...
- 配置ASP.NET Web应用程序, 使之运行在medium trust
这文章会向你展示, 怎么配置ASP.NET Web应用程序, 使之运行在medium trust. 如果你的服务器有多个应用程序, 你可以使用code access security和medium ...
随机推荐
- Redis系列九:redis集群高可用
Redis集群的概念: RedisCluster是redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的需求,当一个服务挂了可以快速的切换到另外一个服务,当遇到单机内存. ...
- Spring AOP示例代码
public interface CustomerDao { public void save(); public void update(); } public class CustomerDaoI ...
- Nginx HTTPS功能部署实践
本文出处:http://oldboy.blog.51cto.com/2561410/1889346 30.1 文档目的 本文目的提高自己文档的写作能力及排版能力,加强上课所讲的内容得以锻炼也方便自己以 ...
- 网络侦查与网络扫描-P201421410029
中国人民公安大学 Chinese people’ public security university 网络对抗技术 实验报告 实验一 网络侦查与网络扫描 学生姓名 李政浩 年级 2014 ...
- python面试题库——3数据库和缓存
第三部分 数据库和缓存(46题) 列举常见的关系型数据库和非关系型都有那些? 关系型数据库: Oracle.DB2.Microsoft SQL Server.Microsoft Access.MySQ ...
- debian文本配置网络备忘:/etc/network/interfaces
我装了wheezy有gnome3,xfce4: 郁闷的是,不论在gnome还是xfce4中 我都无法图形登录或者切换用户到root: 而且我无法在普通用户下图形修改网络配置: 我也搜索不到启用root ...
- JS省市区联动
JS省市区使用文档 一:服务器返回JSON格式要求如下网址里面data的格式:(拿KISSY组件data格式来做的) http://gallery.kissyui.com/cityselector/d ...
- Kafka设计解析(二十三)关于Kafka监控方案的讨论
转载自 huxihx,原文链接 关于Kafka监控方案的讨论 目前Kafka监控方案看似很多,然而并没有一个“大而全”的通用解决方案.各家框架也是各有千秋,以下是我了解到的一些内容: 一.Kafka ...
- MVC在母版页设置子页面的css和js引用布局
1.在母版页中指定子页面css和js布局 @RenderSection("Styles", false) @RenderSection("Scripts", f ...
- stop-hbase.sh一直处于等待状态
今天关闭HBase时,输入stop-hbase.sh一直处于等待状态 解决方法: 先输入:hbase-daemon.sh stop master 再输入:stop-hbase.sh就可以关闭HBase ...