当前位置: 首页 > news >正文

负责网站建设湖南平台网站建设制作

负责网站建设,湖南平台网站建设制作,平面艺术设计,用cms织梦做网站图文教程目录 1.数字反转 2.试题3971 3.矮人采金子 4.筛法 5.机器指令 1.数字反转 问题描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零&…

目录

1.数字反转

2.试题3971

3.矮人采金子

4.筛法

5.机器指令


1.数字反转

问题描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2) 。

输入格式

输入共 1 行,一个整数 N。

输出格式

输出共 1 行,一个整数,表示反转后的新数。

样例输入1

123

样例输出1

321

样例输入2

-830

样例输出2

38

数据规模和约定

-1,000,000,000 ≤ N≤1,000,000,000。

示例代码

#include <iostream>
using namespace std;int main() {string str;cin >> str;int len = str.length();if (str[0] == '-') {//如果是负数cout << "-";int flag = 0;for (int i = len - 1; i > 0; i--) {if (str[i] == '0') {if (flag == 1) {cout << str[i];}}else {cout << str[i];flag = 1;}}}else {int flag = 0;for (int i = len - 1; i >= 0; i--) {if (str[i] == '0') {if (flag == 1) {cout << str[i];}}else {cout << str[i];flag = 1;}}}return 0;
}

2.试题3971

问题描述

有一些正整数,如果这个正整数分解质因数之后,只包含2或3或5,那么该数即为“丑数”,比如100就是“丑数”,100分解质因数之后只包含2和5;14就不是“丑数”,因为14分解质因数之后,包含了7.

输入正整数n,请写程序判断n是否是“丑数”,是“丑数”则输出“yes”,否则输出“no”。

输入格式

一个正整数n

输出格式

一个字符串yes 或no

样例输入

15

样例输出

yes

样例输入

242

样例输出

no

数据规模和约定

n不超过C语言整型范围

示例代码

#include <iostream>
using namespace std;
void dfs(int n) {if (n == 1) {cout << "yes";return ;}if (n % 2 == 0) {dfs(n / 2);}else if(n%3==0){dfs(n / 3);}else if (n % 5 == 0) {dfs(n / 5);}else {cout << "no";return;}
}
int main() {int n;cin >> n;if (n == 1) {//1比较特别cout << "no";return 0;}dfs(n);return 0;
}

3.矮人采金子

问题描述

矮人们发现了 N 个新的金矿。据测算,开采第 i 个金矿会带来 Ai 个金币的收入。但是,开采一个金矿本身需要花费 1000 个金币来开挖隧道。矮人们可以选择是否开采每个金矿。他们想知道,通过合理的选择,他们最多可以有多少个金币的净收入。你能回答他们的问题吗?

输入格式

第一行包含一个正整数 N 。(1 ≤ N ≤ 100)。
  第二行为 N 个用空格隔开的非负整数,其中第 i 个数表示 Ai,每个数
  不超过 10000。

输出格式

输出仅一行,只包含一个数字,即矮人们所能获得的最高的净收入。

样例输入

4
2012 999 1481 23

样例输出

1493

示例代码

#include <iostream>
using namespace std;int main() {int n,a,sum=0;cin >> n;for (int i = 0; i < n; i++) {cin >> a;if (a > 1000) {sum += (a - 1000);}}cout << sum;return 0;
}

4.筛法

问题描述

炫炫学了筛法之后,很想用筛法求欧拉函数。他决定求1到N的所有数的欧拉函数值。

输入格式

输入的第一行包含1个整数n,。

输出格式

输出若干行,每行包含一个整数,第i行表示i的欧拉函数值

样例输入

2

样例输出

1

1

数据规模和约定

n<=500000

示例代码

#include <iostream>
using namespace std;
void phi(int n) {double res=double(n);for (int i = 2; i * i <= n; i++) {if (n % i == 0) {res = res * (i - 1) / i;while (n % i == 0) {n /= i;}}}if (n > 1) {res = res * (n - 1) / n;}cout << int(res) << endl;
}int main() {int n;cin >> n;for (int i = 1; i <= n; i++) {phi(i);}return 0;
}

5.机器指令

我觉得测试点是错的

问题描述

A同学在一台简陋的计算机上运行程序H。(同《计算机科学导论》一书的附录C)假设这台机器的CPU仅有16个通用寄存器(register)(用十六进制的0到F编号),主存只有256个内存单元(memory cell)(用十六进制00到FF编号),每个机器指令长两个字节(用十六进制数表示),各种指令的解释如下:
1RXY 将内存单元XY里的数据复制到寄存器R中
2RXY 将数据XY存至寄存器R中
3RXY 将寄存器R中的数据复制到内存单元XY中
40RS 将寄存器R中的数据复制到寄存器S中
5RST 将寄存器S和寄存器T中储存的整数相加并存放在寄存器R中
BRXY 如果寄存器R中的内容和寄存器0中的内容相同,则程序计数器指向XY内存单元(执行JUMP操作),否则程序按原来流程继续运行
C000 结束程序
在一个指令循环中,CPU每次提取程序计数器指向的内存单元和下一个内存单元中两个十六进制数组成的四位十六进制数作为机器指令并执行,若在指令执行时未进行JUMP操作,则把程序计数器向后移两个单元。一旦程序开始运行,CPU将进入指令循环直到出现“结束程序”的命令为止(C000)。现在这个程序H只需使用从00到0F的内存单元,且在程序开始前程序计数器(program counter)已经指向了00单元。输入程序H运行前00到0F内存单元里存放的数据,请输出程序H结束后00到0F内存单元里的数据。

输入格式

输入一行16个十六进制数(每个十六进制数占两位,可能以0开头),用空格隔开,分别表示程序H运行前00到0F内存单元中存放的数据。

输出格式

输出一行16个十六进制数(每个十六进制数占两位,可能以0开头),用空格隔开,分别表示程序H结束后00到0F内存单元中存放的数据。

样例输入

2A 99 3A 00 1A 03 3A 02 C0 00 00 00 00 00 00 00

样例输出

99 99 00 00 1A 03 3A 02 C0 00 00 00 00 00 00 00

样例说明

运行指令2A99:将十六进制数99存至寄存器A中;
运行指令3A00:将寄存器A中的数据(99)复制到内存单元00中;
运行指令1A03:将内存单元03里的数据(00)复制到寄存器A中;
运行指令3A02:将寄存器A中的数据(00)复制到内存单元02中;
运行指令C000:结束程序。

示例代码

#include <iostream>
using namespace std;
int a[16] = { 0 }, b[16] = { 0 };
int find_index(char n) {//16进制转化为10进制if (n >= '0' && n <= '9') {return int(n) - 48;}else {return int(n) - 55;}
}
void shizhuanshiliu(int n) {//10进制转化为16进制输出int first, second;first = n / 16;second = n % 16;if (first >= 10) {cout << char(first + 55);}else {cout << char(first + 48);}if (second >= 10) {cout << char(second + 55) << " ";}else {cout << char(second + 48) << " ";}return;
}
int main() {string str;int flag = 0, count = 0;for (int i = 0; i < 16; i++) {cin >> str;a[i] = find_index(str[0]) * 16 + find_index(str[1]);//为储存的数据b[i] = a[i];//命令}while (b[count]/16!=12){//当首字母为C就结束if (b[count] / 16 == 1) {//将内存单元XY里的数据复制到寄存器R中int temp = b[count] % 16;count++;a[temp] = a[b[count]];count++;}else if (b[count] / 16 == 2) {//将数据XY存入寄存器R中int temp = b[count] % 16;count++;a[temp] = a[count];count++;}else if (b[count] / 16 == 3) {//将寄存器R中的数据复制到寄存器XY中int temp = b[count] % 16;count++;a[b[count]] = a[temp];count++;}else if (b[count] / 16 == 4) {//将寄存器R中的数据复制到寄存器S中count++;a[b[count] % 16] = a[b[count] / 16];count++;}else if (b[count] / 16 == 5) {//将寄存器S和寄存器T中储存的数相加并存放在寄存器R中int temp = b[count] % 16;count++;a[temp] = a[b[count] / 16] + a[b[count] % 16];count++;}else if (b[count] / 16 == 11) {//如果寄存器R中的内容和寄存器0的内容相同,则程序计数器指向XY内存单元,否则程序按照原来流程继续运行int temp = b[count] % 16;count++;if (temp == a[0]) {count = a[b[count]];}else {count++;}}}for (int i = 0; i < 16; i++) {shizhuanshiliu(a[i]);}return 0;
}

http://www.hrbkazy.com/news/52712.html

相关文章:

  • 百色建设厅网站今日财经新闻
  • 下载做蛋糕网站全网营销国际系统
  • 网站做关键词搜索要好多钱哪个网站学seo是免费的
  • 网络营销为导向的企业网站网络营销策划书结构
  • 网站图标ico 需要多大新闻稿
  • 网站后台管理系统使用手册手机金融界网站
  • 注册网站域名多少钱一年网络销售怎么做才能有业务
  • 做商城网站服务器配置怎么选择小程序商城
  • 利用高权重网站做关键词网页制作免费模板
  • 滨海做网站公司外包网
  • 网站接入服务商是什么郑州网站制作工具
  • 免费自己做网站手机电子商务seo
  • 怎样下载wordpress成都网站seo性价比高
  • 网站的困难百度seo优化关键词
  • 学习教建网站天天自学网网址
  • 网上推广赌博seo推广排名
  • 大连网站建媒体代发网站
  • 网站认证费怎么做分录查询网 域名查询
  • 文安做网站淘宝新店怎么快速做起来
  • 大连模板开发建站深圳快速seo排名优化
  • 建设网站com学前端去哪个培训机构
  • 申请网站平台怎么做原创文章代写
  • 企业网站营销常用的方法seo的优化方向
  • 网站开发示例专业seo排名优化费用
  • 官网的网站建设公司智谋网站优化公司
  • 幼儿园主题网络图设计 大班seo助理
  • 建材网站建设功能方案简单的个人网页制作html
  • 百度指数不高的网站怎么优化网络销售员每天做什么
  • 高端网站价格西地那非片能延时多久
  • wordpress连接mysql拒绝seo服务外包价格