1.    数字比较

定义一个函数check(n,d),让它返回一个布尔值,如果数字d在正整数n的某位中出现则返回true,否则返回false。

例如:check(325719,3)==true;check(77829,1)==false;

【样例输入1】

325719 3

【样例输出1】

true

【样例输入2】

77829 1

【样例输出2】

false

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int check(string a,char b){
for(int i = ;i < a.length(); i++){
if(a[i] == b){
return ;
}
}
return ;
}
int main(){
string c;
char d;
cin>>c;
cin >> d;
if(check(c,d)==){
cout << "true";
}else{
cout << "false";
}
return ;
}

2.    图像旋转

【问题描述】

输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。

输入:第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

输出:m行,每行n个整数,为顺时针旋转90度后的图像。相邻两个整数之间用单个空格隔开。

【样例输入】

3 3

1 2 3

4 5 6

7 8 9

【样例输入】

7 4 1

8 5 2

9 6 3

#include<iostream>
using namespace std;
int a[][];
int main(){
int m,n;
cin >> m >> n;
for(int i=;i<=m;i++){
for(int j=;j<=n;j++){
cin>>a[i][j];
}
}
for(int j=;j<=n;j++){
for(int i=m;i>=;i--){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}

1.     算术表达式求值

两位正整数的简单算术运算(只考虑整数运算),算术运算为:

+,加法运算; -,减法运算; *,乘法运算; /,整除运算; %,取余运算。

算术表达式的格式为(运算符前后可能有空格):运算数 运算符 运算数

请输出相应的结果。

输入:一行算术表达式;

输出:输出计算结果,保留两位小数;

要求:使用函数的方法来计算。

【样例输入】

32+64

【样例输出】

96.00

#include <iostream>
#include <iomanip>
using namespace std;
int add(int a, int b){
return a+b;
}
int sub(int a, int b){
return a-b;
}
int mul(int a, int b){
return a*b;
}
double div(int a, int b){
return a*1.0/b;
}
int main(){
int m, n;
char x;
double c;
cin >> m >> x >> n;
if(x=='+'){
c=add(m,n);
}
if(x=='-'){
c=sub(m,n);
}
if(x=='*'){
c=mul(m,n);
}
if(x=='/'){
c=div(m,n);
}
cout << fixed << setprecision() << c << endl;
return ;
}

2.    区间内的真素数

找出整数M到N之间的真素数;

真素数的定义: 如果一个正整数为素数,且其反序也为素数,那么这个正整数就为真素数。例如,11,13 均为真素数,因为11的反序还是为11,13 的反序为 31 也为素数。

输入:两个数 M 和 N,空格间隔,1 <= M <= N <= 100000。

输出:按从小到大输出 M 和 N 之间(包括 M 和 N )的真素数,逗号间隔。如果之间没有真素数,则输出 No。

【样例输入】

10 35

【样例输出】

11,13,17,31

#include<iostream>
#include<cmath>
using namespace std;
//
int fanxu(int n)//返回n的反序数
{
int sum=,l;
while(n!=){
l=n%; //
sum=sum*+l; //sum = 3
n/=; //
}
return sum; //
}
int prime(int n){ //
int i;
if(n==){
return ;
}
for(i=;i<=sqrt(n);i++){
if(n%i==){
return ;
}
}
return ;
}
int main(){
int n,m,v=,i;
cin >> m >> n;
for(i=m;i<=n;i++){
if(prime(i)==&&prime(fanxu(i))==){
if(v==){
cout<<",";
}
v=;
cout<<i;
}
}
if(v==){
cout<<"No"<<endl;
}
return ;
}

3.    哥德巴赫猜想

哥德巴赫猜想的命题之一是:大于6的偶数等于两个素数之和,输入两个数字m和n,将m和n之间(包括m和n)所有的偶数表示成两个素数之和。

输入:一行两个正整数m和n,其中5<m<n<100;

输出:将m和n之间所有偶数表示成两个素数之和,如果有多种分解方法,输出包含最小素数的那一个,例如10=5+5,10=3+7,我们只用输出10=3+7就可以了;

【样例输入】

6 10

【样例输出】

6 = 3 + 3

8 = 3 + 5

10 = 3 + 7

#include <iostream>
using namespace std;
bool prime(int n){
if(n==){
return false;
}else{
for(int i = ;i < n;i++){
if(n%i ==){
return false;
}
}
return true;
}
}
int main(){
int m,n;
cin >> m>> n;
for(int i=m;i<= n;i++){
if(i % == ){
for(int j = ;j < i;j++){
if(prime(j)&&prime(i-j)){
cout << i << " = " << j << " + " << (i-j) << endl;
break;
}
}
}
}
return ;
}

noip第11课作业的更多相关文章

  1. noip第34课作业

    1.    信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...

  2. noip第29课作业

    1.   钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...

  3. noip第26课作业

    1.    信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指 ...

  4. noip第24课作业

    1.  马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. ...

  5. noip第19课作业

    1. 谁考了第K名 在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩. [输入格式] 第一行有两个整数,分别是学生的人数n(1<=n<=100 ...

  6. noip第18课作业

    1. 银行取款 [题目描述] 在现代文明社会中,大家在诸如银行办理业务.车站买票等活动时都很文明没有插队的现象,本着“先来先服务”的规矩. 新年马上到了,明明的爸爸打算上银行去取点钱,带着一向表现很好 ...

  7. noip第17课作业

    1.  召见骑士 [问题描述] 某王国有5位骑士,每位骑士都有自己的编号,且这个王国的编号都为奇数,分别为1,3,5,7,9,在国王召见他们之前他们都必须经过只能从一边进出的长廊,长廊的宽度只能坐一个 ...

  8. noip第5课作业

    1.     计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...

  9. noip第2课作业

    1.    大象喝水 [问题描述] 一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数).问大象至少要喝多少桶水才会解渴. 输入:输入有一行,包行两 ...

随机推荐

  1. Delphi 停靠技术的应用3(两个窗体停靠成PageControl样式, 分页停靠)

    Delphi 停靠技术的应用3(两个窗体停靠成PageControl样式, 分页停靠) 因为TPageControl组件重载了TWinControl组件的DoAddDockClient和DoRemov ...

  2. homewor

    <jsp;include>动作和指令的区别: 一:执行时间上: <%@ include file=”relativeURI”%>                   是在翻译阶 ...

  3. 疯狂JAVA——第八章 java集合

    集合类主要负责保存.盛装其他数据,因此集合类也被称为容器类. 数组元素既可以是基本类型的值,也可以是对象(实际上是保存的对象的引用): 集合里只能保存对象.

  4. oracle 查看被锁的表和解锁

    相关视图 SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$process ;S ...

  5. angularjs动态添加节点时,绑定到$scope中

    <html> <head> <meta charset="utf-8"/> <script src="https://cdn.b ...

  6. poj1417(带权并查集+背包DP+路径回溯)

    题目链接:http://poj.org/problem;jsessionid=8C1721AF1C7E94E125535692CDB6216C?id=1417 题意:有p1个天使,p2个恶魔,天使只说 ...

  7. client / server端用户的登录

    # 客户端 import socket import hashlib import json import os import struct sk = socket.socket() # 实例化 sk ...

  8. 最近公共祖先 · Lowest Common Ancestor

    [抄题]: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. “Th ...

  9. ios 工具大全,最全框架

    https://www.jianshu.com/p/e280f3348156 [链接]文件分享 - 网盘分享https://share.weiyun.com/5A1aura

  10. expdp、impdp使用

    expdp介绍 EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定 ...