Копирование диапазона ячеек Excel


Sub CopyRangeValue()
  Dim range1 As Range
  Dim range2 As Range
  Dim book2 As Workbook
  Set range1 = Workbooks(1).Worksheets(1).Range("A1:X34")
  Set book2 = Workbooks.Add
  Set range2 = book2.Worksheets(1).Range("A1:X34")
  range2.Value = range1.Value
End Sub
Sub CopyRangeFormat()
  Dim range1 As Range
  Dim book2 As Workbook
  Set range1 = Workbooks(1).Worksheets(1).Range("A1:X34")
  Set book2 = Workbooks.Add
  range1.Copy book2.Worksheets(1).Range("A1")
End Subb
Реклама
Рубрика: программирование | Метки: , | Оставить комментарий

Решение задачи Saving The Universe Again (Google CodeJam 2018)


Условия задачи (на англ. языке)

CHARGE = 'C'
def damage(program):
    d = 0
    strength = 1
    for c in p:
        if c == 'C':
            strength *= 2
        else:
            d += strength    
    return d

T = int(input())
for i in range(1, T + 1):
    line = input()
    s = line.split()
    D = int(s[0])
    p = s[1]
    h = 0
    CS = 'CS'
    SC = 'SC'
    while D < damage(p):
        start = p.rfind(CS)
        if start == -1:
            h = 'IMPOSSIBLE'
            break
        else:
            p = p[0:start] + SC + p[start + len(CS):]
            h += 1
    print('Case #{0}: {1}'.format(i, h))

 

Рубрика: программирование | Метки: , | Оставить комментарий

Вычисление среднего значения и стандартного отклонения


Pascal

program stat;
uses
  Math;
var
  score: array of double = [92, 74, 70, 67, 66, 64, 61, 61, 61, 60, 57, 56, 56,
    55, 54, 54, 54, 53, 53, 52, 51, 51, 51, 51, 51, 49, 48, 48, 44, 41];
  m, d: double;
begin
    MeanAndStdDev(score, m, d);
    Writeln('mean=', m, 'dev=', d);
end.

Python

import statistics

score = [92, 74, 70, 67, 66, 64, 61, 61, 61, 60, 57, 56, 56, 55, 54, 54, 54, 53,
    53, 52, 51, 51, 51, 51, 51, 49, 48, 48, 44, 41]
print('mean:', statistics.mean(score))
print('stddev:', statistics.stdev(score))
Рубрика: программирование | Метки: , | Оставить комментарий

Красивые числа


Источник: Problem B. Tidy Numbers

Задача

Татьяна любит порядок во всём. Её игрушки упорядочены от самой маленькой до самой большой, её карандаши расположены от самого короткого до самого длинного, а её компьютеры расставлены от самого старого до самого нового. Однажды во время тренировки навыков счёта она заметила, что у некоторых целых чисел, записанных в десятичной системе счисления, цифры расположены в неубывающем порядке. Примеры таких чисел: 8, 123, 555 и 224488. Она решила называть такие числа красивыми. Числа, не обладающие таким свойством (20, 321, 495 и 999990), – некрасивые. Читать далее

Рубрика: перевод, программирование | Метки: | Оставить комментарий

Решение задачи B квалификационного раунда Google CodeJam 2017


Условия задачи

#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;

const unsigned MAXDIGIT = 18;
const char ZERO = '0';
const char NINE = '9';

unsigned notTidy(char *num)
{
  unsigned len;
  len = strlen(num);
  char d1[2];
  char d2[2];
  d1[1] = 0;
  d2[1] = 0;
  for (unsigned i = 1; i < len; i++){
    d2[0] = num[i];
    d1[0] = num[i - 1];
    if (atoi(d2) < atoi(d1))
      return i;
  }
  return 0;
}

char dec(const char digit)
{
  if (digit == ZERO) return '9';
  else return digit - 1;
}

void tidy(char *num, unsigned bad)
{
  unsigned len = strlen(num);
  unsigned i;
  for (i = len - 1; i >= bad; i--){
    num[i] = NINE;
  }
  num[bad - 1] = dec(num[bad - 1]);
  if (num[0] == ZERO){
    for (i = 0; i < len - 1; i++)
      num[i] = num[i + 1];
    num[i] = 0;
  }
}

int main()
{
  unsigned T, t; cin >> T;
  char num[MAXDIGIT + 1];
  unsigned bad;
  for (t = 1; t <= T; t++){
    scanf("%s", &num);
    while ((bad = notTidy(num)) > 0)
      tidy(num, bad);
    cout << "Case #" <<  t << ": " << num << endl;
  }
}

 

Рубрика: программирование | Метки: , | Оставить комментарий

Решение задачи «A» 1 квалификационного раунда RCC 2017


Текст задачи «Марсианский волейбол»

#include <iostream>
using namespace std;

int main() {
  unsigned short t;
  unsigned short k, x, y, m, maxx, minn, diff;
  cin >> t;
  unsigned short i = 0;
  const char MINDIFF = 2;
  while (i++ < t) { cin >> k;
    cin >> x;
    cin >> y;
    m = 0;
    if (x > y) {
      maxx = x;
      minn = y;
    }
    else {
      maxx = y;
      minn = x;
    }
    if (k > maxx)
      m += k - maxx;
    diff = maxx + m - minn;
    if (diff < MINDIFF)
      m += MINDIFF -diff;
    cout << m << endl;
  }
	return 0;
}
Рубрика: программирование | Метки: , | Оставить комментарий

Новые параметры компилятора Microsoft C/C++ для управления наборами символов


Автор: Джим Спринфилд.
Источник: New Options for Managing Character Sets in the Microsoft C/C++ Compiler.

Компилятор Microsoft C/C++ развивался вместе с DOS, 16-разрядной Windows и 32/64-разрядной Windows. Его поддержка различных наборов символов, кодовых страниц и Unicode также менялась всё это время. Эта запись объяснит, как наш компилятор работал раньше и расскажет о новых параметрах  компилятора C/C в Visual Studio 2015 Update 2 CTP в части поддержки файлов UTF-8 без BOM и управления наборами символов выполнения. Пожалуйста, скачайте его и попробуйте.  Сведения о других изменения компилятора в обновлении 2 приведены в этой записи. Читать далее

Рубрика: перевод | Метки: , , , | Оставить комментарий