ope体育手机app_opebet体育官网app_ope体育app
ope体育手机app

高淳天气,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育app

admin admin ⋅ 2019-05-18 07:06:02

作者:鲸90830 

链接:https://www.cnblogs.com/whale90830/p/10688802.html

DS_起步自测

我国大学MOOC_陈越、何钦铭_数据结构_起步才能自测题

1、打印沙漏


思路:先用一个循环核算出有多少行,最长行有多少个符号,这儿核算时直接用N去减,能够得到剩下的符号数;后边直接用核算得到的行数和每行多少个去打印图形


#include<iostream>
using namespace std;
int main()
{
    int n;
    char symbol;
    cin >> n >> symbol;

    if (n < 1)  return 0;
    n = n - 1;
    int max_row = 1;
    int row_num = 0;
    while(n >= 0){
        if (n -&nb高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育appsp;高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育app2 * (max_row + 2) <&nbs高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育appp;0)  break;
        max_row += 2;
        ++row_num;
        n -= max_row * 2;
    }
    for (int i = 0; i < row_num; i++){
        for (int j = 0; j < i; j++){
            cout << " ";
        }
        for (int j = 0; j < max_row - 2 * i; j++){
            cout << symbol;
        }
        cout << endl;
    }
    for (int i = ronavhfw_num; i >= 0; i--){
        for (int j = 0; j < i; j++){
            cout << " ";
        }
        for (int j = 0; j < max_row - 2 * i; j++){
            cout << symbol;
        }
        cout << endl;
    }
    cout << n;
    return 0;
}

2、素数对猜测


思路:判别素数的函数直接默写;因为判别相邻素数,直接用一个变量记载上一个素数,再与新得到的素数比较


#include<iostream>
using namespace std;
bool isPrime(int num){
    if (num == 0 || num == 1return false;
    for (int i&n污漫画图片bsp;= 2; i * i <= num; i++){
        if (num % i == 0return false;
    }
    return true;
}
int main()
{
    int n;
    cin >> n;
    int count = 0;
    int lastPrime = 2;
    for (int i = 3; i <= n; i++){
        if (isPrime(i)){
            if (i - lastPrime == 2) ++count;
            lastPrime = i;
        }
  &nb北京瑞得伊格尔科技有限公司sp; }
    cout << count;
    return 0;
}

3、数组元素循环右移问题


思路:


假如移动未知数比山鹰乐队数组巨细还要大,阐明移动了超越一个循环,实践方位改变应为 (移动方位数%数组巨细),这样处理后可确保移动方位数小于数组巨细。


输出时先输出后m-1个数,再输出前面部分,为确保结尾没有剩余空格,中心点独自输出。这样操作仅仅按移动后的次序输出,但实践并没有去交流数据,数组里的数据次序并没有变,尽管能够经过,但不知道是不是简化了题意。


#inc宜宾学医吧lude<iostream>
using namespace std;
int main()
{
    int n, m;
    cin >> n >> m;
    m = m % n;
    int *data = new int[n];
    for (int i = 0; i < n;&送别翁立友nbsp;i++){
        cin >> data[i];
    }
    for (int i = n - m; i < n; i++){
        cout << data[i] << " ";
    }
    for (int i = 0; ap阻隔是什么意思;i < n - m - 1; i++){
        cout << data[i] << " ";
    }
    cout << data[n-m-1]&nb高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育appsp;<< endl;
    return 0;
}

4、Have Fun with Numbers


思路:


  • 最长或许输入20位整数,long long也有或许会溢出,只能用字符串处理。

  • 留意string的每一位是一个char,做核算留意-'0'

  • 自己完成核算,预备一个进位项,因为只做翻倍,可简略判别此位>5进位项为1,否则为0

  • 因为翻倍后或许位数+1,预设翻倍后的char数组时按+1巨细来开,核算完毕后,经过判别最高位,将正确的char赋到字符串中去,后边陈键明用字符串来处理

  • 判别是否是原数的数字互换次序,只需组成两个数的数字个数都对应即可确认。


#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main()
{
    string ori_num;
    cin >> ori_num;
    bool isPermutation = true;
    int ori_bitnum[10] = {0};
    char *double_num = new char[ori_num.le3d工口ngth()+1];
    if (ori_num[0] >= '5') isPermutation = false;
    char carry = '0';
    for (int i = ori_num.length(); i > 0; i--){
        double_num[i] = (ori_num[i-1] - '0') * 2 % 10 + carry;
        carry = ori_num[i-1] < '5''0''1';
        ++ori_bitnum[ori_num[i-1]-'0'];
    }
    double_num[0] = carry;
    string do高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育appuble_numstr = carry != '0'? double_num: double_num + 1;
    if(isPermutation){
        int double_bitnum[10] = {0};
        for (int i = 0; i < ori_num.length()+1; i++){
            ++double_bitnum[double_numstr[i]-'0'];
&鼻血栓nbsp;       }
        for (int i = 0; i < 10; i++){
            if (ori_bitnum[i] != double_bitnum[i]){
                isPermutation = false;
&n高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育appbsp;               break;
            }
        }
    }
    printf("%s\n",isPermutation? "Yes""No");
    cout << double_numstr;
    return 0;
}

5、Shuffling Machine


思路:我的清闲御史生计多开一个数组,按给定的次序将原数组的卡片内容赋曩昔,假如屡次操作,就将新的数组搬运到原数组中去。


#include<iostream>
#include<string>
using name混血萝莉space std;
string cards[54];
string new_cards[54];
void copyCards(){
    for (int i = 0; i < 54; i++){
        cards[i] = new_cards[i];
    }
}
int main()
{
    for (int i = 0; i < 54; i++){
        if (i < 13){
          &nb陈自权新浪博客sp; cards[i] = "S";
          &nb常建祥sp; cards[i].append(to_string(i+1));
        }else if (i < 26){
           &n文怀沙5任妻子bsp;cards[i] = "H";
            cards[i].append(to_string(i-12));
        }else if (i < 39){
            cards[i] = "C";
   爸爸不要         cards[i].append(to_string(i-25));
        }else if (i < 52){
      女人和猪;      cards[i] = "D";
            cards[i].append(to_string(i-38));
        }else{
         &nb申港3路sp;  cards[i] = "J";
            cards[i].append(to_string(i-51));
        }
    }
    int k;
    cin >> k;
    int order[54];
    for (int i = 0; i < 54; i++){
        cin >> order[i];
    }
    for (int j = 0; j < k; j++){
        for (int i = 0; i < 54; i++){
            new_cards[order[i]-1] = cards[i];
        }
        copyCards();
    }
  &nb斗争在白垩纪sp; for (int i = 0; i < 53; i++){
        cout <<高淳气候,晓松奇谈-ope体育手机app_opebet体育官网app_ope体育app cards[i] << " ";
    }
    cout << cards[53];
    return 0;
}


●编号482,输入编号直达本文

●输入m获取文章

C言语与C++编程

共享C/C++技术文章

相关新闻

admin

admin

TA太懒了...暂时没有任何简介

精彩新闻