#include <iostream>
using namespace std;
int getNum(int n)
{
if(n < 2)
{
return 0;
}
if(n == 2)
{
return 1;
}
return (n/3 + getNum(n%3 + n/3));
}
int main()
{
int n;
int num;
while(cin >> n)
{
if(n >= 1 && n <= 100)
{
num = getNum(n);
cout << num << endl;
}
if(n == 0)
{
break;
}
}
return 0;
}
ctrl+d代表輸入結束:
#include<iostream>
using namespace std;
int main()
{
int n, m;
while(cin >> n)
{
unsigned char arr[1000] = {0};
while(n--)
{
cin >> m;
if(m >= 1 && m <= 1000)
{
if(arr[m-1] == 0)
{
arr[m-1] = 1;
}
}
}
for(int i = 0; i < 1000; i++)
{
if(arr[i] == 1)
{
cout << (i + 1) << endl;
}
}
}
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
string num;
while(getline(cin, num))
{
int size = num.size();
int val = 0;
int n = 0;
bool flag = 0;
for(int i = 0; i < size; i++)
{
if(num.at(i) >= 'a' && num.at(i) <= 'f')
{
flag = 1;
n = num.at(i) - 'a' + 10;
}
else if(num.at(i) >= 'A' && num.at(i) <= 'F')
{
flag = 1;
n = num.at(i) - 'A' + 10;
}
else if(num.at(i) >= '0' && num.at(i) <= '9')
{
flag = 1;
n = num.at(i) - '0';
}
if(flag)
{
val = val * 16 + n;
}
}
cout << val << endl;
}
}
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
while(cin >> n)
{
if(n > 1000)
{
n = 1000;
}
vector<int> arr;
for(int i = 0; i < n; i++)
{
arr.push_back(i);
}
int id = 0;
while(arr.size() > 1)
{
for(int i = 0; i < arr.size(); i++, id++)
{
if(id == 2)
{
arr.erase(arr.begin() + i);
id = 0;
if(i == (arr.size()))
{
break;
}
}
}
}
cout << arr[0] << endl;
}
return 0;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
char a;
while(getline(cin, s))
{
for(int i = 1; i < s.size(); i++)
{
string str = s.substr(0, i);
if(str.find(s.at(i)) != string::npos)
{
s.erase(i, 1);
i--;
}
}
cout << s.c_str() << endl;
}
return 0;
}