Lucky Four Problem Code: LUCKFOURSubmit
Read problems statements in Mandarin Chinese and Russian.
Kostya likes the number 4 much. Of course! This number has such a lot of properties, like:
- Four is the smallest composite number;
- It is also the smallest Smith number;
- The smallest non-cyclic group has four elements;
- Four is the maximal degree of the equation that can be solved in radicals;
- There is four-color theorem that states that any map can be colored in no more than four colors in such a way that no two adjacent regions are colored in the same color;
- Lagrange's four-square theorem states that every positive integer can be written as the sum of at most four square numbers;
- Four is the maximum number of dimensions of a real division algebra;
- In bases 6 and 12, 4 is a 1-automorphic number;
- And there are a lot more cool stuff about this number!
Impressed by the power of this number, Kostya has begun to look for occurrences of four anywhere. He has a list of T integers, for each of them he wants to calculate the number of occurrences of the digit 4 in the decimal representation. He is too busy now, so please help him.
Input
The first line of input consists of a single integer T, denoting the number of integers in Kostya's list.
Then, there are T lines, each of them contain a single integer from the list.
Output
Output T lines. Each of these lines should contain the number of occurences of the digit 4 in the respective integer from Kostya's list.
Constraints
- 1 ≤ T ≤ 105
- (Subtask 1): 0 ≤ Numbers from the list ≤ 9 - 33 points.
- (Subtask 2): 0 ≤ Numbers from the list ≤ 109 - 67 points.
Sample Input 1
5
447474
228
6664
40
81
Sample Output 1
4
0
1
1
0
------------------------------------------------------------------------------------------
//solution<1>:
------------------------------------------------------------------------------------------
#include<iostream>
#include<string>
using namespace std;
int main()
{
int t, n, count;
cin >> t;
for (int i = 0; i < t; i++)
{
cin >> n;
string s = to_string(n);
count = 0;
for (int i = 0; i < s.length(); i++)
{
if (s[i] == '4')
count++;
}
cout << count << "\n";
}
return 0;
}
------------------------------------------------------
//solution<2>:
------------------------------------------------------
#include<iostream>
using namespace std;
int main()
{
int t, n, count, x;
cin >> t;
for (int i = 0; i < t; i++)
{
cin >> n;
count = 0;
while(n!=0)
{
x = n % 10;
if (x == 4)
{
count++;
}
n /= 10;
}
cout << count << "\n";
}
return 0;
}
No comments:
Post a Comment