Skip to content

Commit 08b9e58

Browse files
committed
Long digit sum
1 parent 38865a3 commit 08b9e58

File tree

1 file changed

+331
-0
lines changed
  • AtCoder Beginner Contest 176

1 file changed

+331
-0
lines changed

AtCoder Beginner Contest 176/b.java

Lines changed: 331 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,331 @@
1+
import java.text.DecimalFormat;
2+
import java.util.stream.LongStream;
3+
import java.util.stream.IntStream;
4+
import java.io.*;
5+
import java.util.*;
6+
7+
public class Main {
8+
9+
public static void main(String[] args) {
10+
FastScanner sc = new FastScanner();
11+
PrintWriter out = new PrintWriter(System.out);
12+
// int t = sc.nextInt();
13+
//while(t-->0){
14+
Naveen problem = new Naveen(sc);
15+
problem.solve(out);
16+
// }
17+
out.flush();
18+
}
19+
20+
}
21+
22+
class Naveen {
23+
24+
String n;
25+
//int[] arr;
26+
27+
28+
Naveen(FastScanner sc) {
29+
30+
n = sc.next();
31+
// arr = sc.arrayInt(n);
32+
}
33+
34+
void solve(PrintWriter out) {
35+
36+
// String s = Integer.toString(n);
37+
int l = n.length();
38+
long sum =0;
39+
for(int i =0;i<l;i++){
40+
int j = n.charAt(i)-'0';
41+
sum+=j;
42+
}
43+
44+
45+
My.ans(sum%9==0);
46+
47+
48+
}
49+
50+
51+
}
52+
53+
class FastScanner {
54+
55+
private final InputStream in = System.in;
56+
private final byte[] buffer = new byte[1024];
57+
private int ptr = 0;
58+
private int buflen = 0;
59+
60+
private boolean hasNextByte() {
61+
if (ptr < buflen) {
62+
return true;
63+
} else {
64+
ptr = 0;
65+
try {
66+
buflen = in.read(buffer);
67+
} catch (IOException e) {
68+
e.printStackTrace();
69+
}
70+
if (buflen <= 0) {
71+
return false;
72+
}
73+
}
74+
return true;
75+
}
76+
77+
private int readByte() {
78+
if (hasNextByte()) {
79+
return buffer[ptr++];
80+
} else {
81+
return -1;
82+
}
83+
}
84+
85+
private static boolean isPrintableChar(int c) {
86+
return 33 <= c && c <= 126;
87+
}
88+
89+
public boolean hasNext() {
90+
while (hasNextByte() && !isPrintableChar(buffer[ptr])) {
91+
ptr++;
92+
}
93+
return hasNextByte();
94+
}
95+
96+
public String next() {
97+
if (!hasNext()) {
98+
throw new NoSuchElementException();
99+
}
100+
StringBuilder sb = new StringBuilder();
101+
int b = readByte();
102+
while (isPrintableChar(b)) {
103+
sb.appendCodePoint(b);
104+
b = readByte();
105+
}
106+
return sb.toString();
107+
}
108+
109+
public long nextLong() {
110+
if (!hasNext()) {
111+
throw new NoSuchElementException();
112+
}
113+
long n = 0;
114+
boolean minus = false;
115+
int b = readByte();
116+
if (b == '-') {
117+
minus = true;
118+
b = readByte();
119+
}
120+
if (b < '0' || '9' < b) {
121+
throw new NumberFormatException();
122+
}
123+
while (true) {
124+
if ('0' <= b && b <= '9') {
125+
n *= 10;
126+
n += b - '0';
127+
} else if (b == -1 || !isPrintableChar(b)) {
128+
return minus ? -n : n;
129+
} else {
130+
throw new NumberFormatException();
131+
}
132+
b = readByte();
133+
}
134+
}
135+
136+
public int nextInt() {
137+
long nl = nextLong();
138+
if (nl < Integer.MIN_VALUE || nl > Integer.MAX_VALUE) {
139+
throw new NumberFormatException();
140+
}
141+
return (int) nl;
142+
}
143+
144+
public double nextDouble() {
145+
return Double.parseDouble(next());
146+
}
147+
148+
public int[] arrayInt(int N) {
149+
int[] array = new int[N];
150+
for (int i = 0; i < N; i++) {
151+
array[i] = nextInt();
152+
}
153+
return array;
154+
}
155+
156+
public long[] arrayLong(int N) {
157+
long[] array = new long[N];
158+
for (int i = 0; i < N; i++) {
159+
array[i] = nextLong();
160+
}
161+
return array;
162+
}
163+
164+
public double[] arrayDouble(int N) {
165+
double[] array = new double[N];
166+
for (int i = 0; i < N; i++) {
167+
array[i] = nextDouble();
168+
}
169+
return array;
170+
}
171+
172+
public String[] arrayString(int N) {
173+
String[] array = new String[N];
174+
for (int i = 0; i < N; i++) {
175+
array[i] = next();
176+
}
177+
return array;
178+
}
179+
180+
public int randomInt() {
181+
Random r = new Random();
182+
int value = r.nextInt((int) 1e6);
183+
System.out.println(value);
184+
return value;
185+
}
186+
187+
public int[] randomInt(int N) {
188+
int[] array = new int[N];
189+
Random r = new Random();
190+
for (int i = 0; i < N; i++) {
191+
array[i] = r.nextInt((int) 1e6);
192+
}
193+
System.out.println(Arrays.toString(array));
194+
return array;
195+
}
196+
197+
}
198+
199+
class My {
200+
201+
public static long lower(long arr[],long key){
202+
int low = 0;
203+
int high = arr.length-1;
204+
while(low < high){
205+
int mid = low + (high - low)/2;
206+
if(arr[mid] >= key){
207+
high = mid;
208+
}
209+
else{
210+
low = mid+1;
211+
}
212+
}
213+
return low;
214+
}
215+
public static int upper(int arr[],int key){
216+
int low = 0;
217+
int high = arr.length-1;
218+
while(low < high){
219+
int mid = low + (high - low+1)/2;
220+
if(arr[mid] <= key){
221+
low = mid;
222+
}
223+
else{
224+
high = mid-1;
225+
}
226+
}
227+
return low;
228+
}
229+
static void ans(boolean b) {
230+
System.out.println(b ? "Yes" : "No");
231+
}
232+
233+
static void ANS(boolean b) {
234+
System.out.println(b ? "YES" : "NO");
235+
}
236+
237+
static String sort(String s) {
238+
char[] ch = s.toCharArray();
239+
Arrays.sort(ch);
240+
return String.valueOf(ch);
241+
}
242+
243+
static String reverse(String s) {
244+
return new StringBuilder(s).reverse().toString();
245+
}
246+
247+
static int[] reverse(int[] array) {
248+
for (int i = 0; i < array.length / 2; i++) {
249+
int temp = array[i];
250+
array[i] = array[array.length - 1 - i];
251+
array[array.length - 1 - i] = temp;
252+
}
253+
return array;
254+
}
255+
256+
static long[] reverse(long[] array) {
257+
for (int i = 0; i < array.length / 2; i++) {
258+
long temp = array[i];
259+
array[i] = array[array.length - 1 - i];
260+
array[array.length - 1 - i] = temp;
261+
}
262+
return array;
263+
}
264+
265+
static double[] reverse(double[] array) {
266+
for (int i = 0; i < array.length / 2; i++) {
267+
double temp = array[i];
268+
array[i] = array[array.length - 1 - i];
269+
array[array.length - 1 - i] = temp;
270+
}
271+
return array;
272+
}
273+
274+
static String[] reverse(String[] array) {
275+
for (int i = 0; i < array.length / 2; i++) {
276+
String temp = array[i];
277+
array[i] = array[array.length - 1 - i];
278+
array[array.length - 1 - i] = temp;
279+
}
280+
return array;
281+
}
282+
283+
static char[] reverse(char[] array) {
284+
for (int i = 0; i < array.length / 2; i++) {
285+
char temp = array[i];
286+
array[i] = array[array.length - 1 - i];
287+
array[array.length - 1 - i] = temp;
288+
}
289+
return array;
290+
}
291+
292+
static long min(long... numbers) {
293+
Arrays.sort(numbers);
294+
return numbers[0];
295+
}
296+
297+
static int min(int... numbers) {
298+
Arrays.sort(numbers);
299+
return numbers[0];
300+
}
301+
302+
static double min(double... numbers) {
303+
Arrays.sort(numbers);
304+
return numbers[0];
305+
}
306+
307+
static long max(long... numbers) {
308+
Arrays.sort(numbers);
309+
return numbers[numbers.length - 1];
310+
}
311+
312+
static int max(int... numbers) {
313+
Arrays.sort(numbers);
314+
return numbers[numbers.length - 1];
315+
}
316+
317+
static double max(double... numbers) {
318+
Arrays.sort(numbers);
319+
return numbers[numbers.length - 1];
320+
}
321+
322+
static int sum(long number) {
323+
int sum = 0;
324+
while (number > 0) {
325+
sum += number % 10;
326+
number /= 10;
327+
}
328+
return sum;
329+
}
330+
331+
}

0 commit comments

Comments
 (0)