Применим распределительный закон для конъюнкции:
А+Ā•B=(A+Ā)•(A+B)=(1)•(A+B)=A+B
public class Subsequence {
public static void main(String args[]) {
int start = 439;
int amount = 2;
int[] array = new int[99];
array[0] = start;
for (int i = 1; i<array.length; i++) {
array[i] = Digits(array[i-1]);
}
System.out.println(array[98]);
}
public static int Digits (int number) {
int digit = number%10;
int dozens = (int)number/10;
int digit1 = dozens%10;
int digit2 = (int)dozens/10;
return (digit+digit1+digit2)*13;
}
}
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
void readList(int n, vector <string> &a) {
for (int i=0; i<n; i++) cin >> a[i];
}
void writeList(vector <string> &a) {
for (int i=0; i<(int)a.size(); i++) cout << a[i];
}
bool cmp(string x, string y) {
return x + y > y + x;
}
int main() {
int n; cin >> n;
vector <string> a(n);
readList(n, a);
sort(a.begin(), a.end(), cmp);
writeList(a);
return 0;
}
If a then
Твой код
Else a & b
... Код
Понял так, а что нужно было сделать?