题意:给出n个数和k,问n个数中能被k整除的个数
代码如下:
17915086 | 2016-10-12 12:25:51 | wuli | Enormous Input Test | acceptededit ideone it | 1.07 | 695M | JAVA |
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.StreamTokenizer;
public class Main{
private StreamTokenizer cin;
private PrintWriter cout;
private static final boolean DEBUG = true;
private int n, k;
private void init()
{
try
{
if (DEBUG)
{
cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(new FileInputStream("e:\\program\\idea\\spoj\\spoj.txt"))));
}
else
{
cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
}
cout = new PrintWriter(System.out);
}
catch (IOException e)
{
e.printStackTrace();;
}
}
private Integer nextInt()
{
try
{
cin.nextToken();
if (cin.ttype == StreamTokenizer.TT_EOF) return null;
else if (cin.ttype == StreamTokenizer.TT_NUMBER) return (int)(cin.nval);
else return null;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
private void input()
{
n = nextInt();
k = nextInt();
}
private void solve()
{
int ans = 0;
for (int i = 0; i < n; i++)
{
int ti = nextInt();
if (ti % k == 0) ans++;
}
cout.println(ans);
cout.flush();
}
public void run()
{
init();
input();
solve();
}
public static void main(String[] args)
{
new Main().run();
}
}
php实现
17915128 | 2016-10-12 12:33:39 | wuli | Enormous Input Test | acceptededit ideone it | 1.51 | 51M | PHP |
<?php
$debug = true;
$fin = STDIN;
if ($debug)
{
$fin = fopen("./test.txt", "r");
}
fscanf($fin, "%d%d", $n, $k);
$ans = 0;
for ($i = 0; $i < $n; $i++)
{
fscanf($fin, "%d", $num);
if ($num % $k == 0)
{
$ans++;
}
}
echo $ans.PHP_EOL;
if ($debug)
{
fclose($fin);
}
function readInt($file)
{
while (false !== ($ch = fgetc($file))) {
if (preg_match('/[[:digit:]]/', $ch)) break;
}
$sum = ord($ch) - ord('0');
while (false !== ($ch = fgetc($file))) {
if (!preg_match('/[[:digit:]]/', $ch)) break;
$sum = $sum * 10 + (ord($ch) - ord('0'));
}
return $sum;
}