60 条题解
-
0
mmlmml1 LV 8 @ 2014-10-03 21:23:57
C++ Code
#include<iostream>
#include<string>
using namespace std;
int check(int i);
int main()
{
int start,end,i,count;
count=0;
cin>>start>>end;
for(i=start;i<=end;i++)
{
count+=check(i);
}
cout<<count;
return 0;
}
int check(int i)
{
int temp,count;
count=0;
do
{
temp=i%10;
i=i/10;
if(temp==2) count++;
}while(i!=0) ;
return count;
} -
0@ 2014-08-16 15:30:38
var
l,r:longint;
i,sum,n:longint;
begin
sum:=0;
read(l,r);
for i:=l to r do
begin
n:=i;
while n<>0 do
begin
if n mod 10=2 then sum:=sum+1;
n:=n div 10;
end;
end;
writeln(sum);
end. -
0@ 2014-08-03 12:09:02
easy
记录信息
评测状态 Accepted
题目 P1784 数字统计
递交时间 2014-08-03 12:07:12
代码语言 C++
评测机 VijosEx
消耗时间 15 ms
消耗内存 272 KiB
评测时间 2014-08-03 12:07:19
评测结果
编译成功测试数据 #0: Accepted, time = 0 ms, mem = 272 KiB, score = 10
测试数据 #1: Accepted, time = 0 ms, mem = 272 KiB, score = 10
测试数据 #2: Accepted, time = 0 ms, mem = 272 KiB, score = 10
测试数据 #3: Accepted, time = 0 ms, mem = 268 KiB, score = 10
测试数据 #4: Accepted, time = 0 ms, mem = 272 KiB, score = 10
测试数据 #5: Accepted, time = 0 ms, mem = 272 KiB, score = 10
测试数据 #6: Accepted, time = 0 ms, mem = 272 KiB, score = 10
测试数据 #7: Accepted, time = 15 ms, mem = 272 KiB, score = 10
测试数据 #8: Accepted, time = 0 ms, mem = 268 KiB, score = 10
测试数据 #9: Accepted, time = 0 ms, mem = 272 KiB, score = 10
Accepted, time = 15 ms, mem = 272 KiB, score = 100 -
0@ 2014-03-05 20:28:34
#include <cstdlib>
#include <iostream>using namespace std;
int gs(int a,int b)
{
int k=0;
while(a>0)
{
if(a%10==b)
k++;
a/=10;
}
return k;
}int main(int argc,char *argv[])
{
int i,j,k=0,n,m;
cin>>n>>m;
j=2;
for(i=n;i<=m;i++)
{
k+=gs(i,j);
}
cout<<k<<endl;
// system("pause");
return 0;
}
//如果想把找2有多少个改一下,那就把j加到cin里. -
0@ 2014-01-04 18:36:33
-
0@ 2014-01-01 12:02:34
Vijos 题解:http://hi.baidu.com/umule/item/2c997f8ed9600fdae596e017
有疑问请留言 共同进步 -
0@ 2013-11-02 22:28:11
var n, m,k, i: longint;
begin
readln(n, m); k := 0;
for i := n to m do begin
n := i;
while n > 0 do begin if n mod 10 = 2 then Inc(k);n := n div 10; end;
end; writeln(k);
end. -
0@ 2013-09-20 23:19:35
Program two;
var l,r,i,j,num:integer;
s:string;Begin
readln(l,r);
for i:=l to r do begin
str(i,s);
for j:=1 to length(s) do
if s[j]='2' then num:=num+1;
end;
writeln(num);
End. -
0@ 2013-09-16 22:36:22
#include <iostream>
using namespace std;int main()
{
int x,y;
cin>>x>>y;
int count=0;
for(int i=x;i<=y;i++)
{
if (i/1000==2)
count++;
if (i%1000/100==2)
count++;
if (i%1000%100/10==2)
count++;
if (i%1000%100%10==2)
count++;
}
cout<<count<<endl;
return 0;
} -
0@ 2013-08-31 20:49:06
#include <iostream>
#include <stdio.h>
using namespace std;
int l,r,i,j,k,b,a,sum;
int main(){
cin>>l;
cin>>r;
sum=0;
for(i=l;i<=r;i++){
a=i;
do
{b=a%10;
if (b==2){
sum++;
}
a/=10;}
while(a!=0);
}
cout<<sum<<endl;
}
b表示取i(a)的每一位
如果是2就累加 -
0@ 2013-08-06 14:29:37
刷水题神马的最有自信了O(∩_∩)O~
-
0@ 2013-07-15 18:27:11
var l,r,x:integer;
begin
x:=0;
readln(l,r);
l:=l-1;
for l:=l+1 to r do
begin
if l mod 10=2 then x:=x+1;
if l div 10=2 then x:=x+1;
if l div 100=2 then x:=x+1;
if l div 1000=2 then x:=x+1;
end;
write(x);
end.
为啥只有30? -
0@ 2013-07-07 21:42:38
喵了个咪,居然是标准输入输出。那题干里还提输入输出文件。。
好久不刷题站了都忘了规矩了 -
0@ 2012-11-25 20:24:29
├ 测试数据 01:答案正确... (156ms, 404KB)
├ 测试数据 02:答案正确... (31ms, 404KB)
├ 测试数据 03:答案正确... (47ms, 404KB)
├ 测试数据 04:答案正确... (0ms, 404KB)
├ 测试数据 05:答案正确... (16ms, 404KB)
├ 测试数据 06:答案正确... (0ms, 404KB)
├ 测试数据 07:答案正确... (31ms, 404KB)
├ 测试数据 08:答案正确... (16ms, 404KB)
├ 测试数据 09:答案正确... (47ms, 404KB)
├ 测试数据 10:答案正确... (47ms, 404KB) -
0@ 2012-11-22 18:13:56
这题本人上传的!
首先,我们可以让一个变量从最小值循环制最大值,然后把每个循环到的数字转换为字符串,再用一个变量循环,判断每一位是否为2,是就加1!
很水的 -
0@ 2012-11-20 17:56:09
var
s,n,q,e,l:integer;
w:string;
begin
read(s,n);
for q:=s to n do begin
str(q,w);
for e:=1 to length(w)do if w[e]='2' then l:=l+1;
end;writeln(l);
end.AC31 一星纪念
-
0@ 2012-11-19 18:17:43
├ 测试数据 01:答案正确... (0ms, 676KB)
├ 测试数据 02:答案正确... (15ms, 676KB)
├ 测试数据 03:答案正确... (0ms, 676KB)
├ 测试数据 04:答案正确... (15ms, 676KB)
├ 测试数据 05:答案正确... (0ms, 676KB)
├ 测试数据 06:答案正确... (0ms, 676KB)
├ 测试数据 07:答案正确... (15ms, 676KB)
├ 测试数据 08:答案正确... (15ms, 676KB)
├ 测试数据 09:答案正确... (15ms, 676KB)
├ 测试数据 10:答案正确... (15ms, 676KB)这题......真是水额,5分钟AC
-
0@ 2012-11-18 19:26:28
├ 测试数据 01:答案正确... (13ms, 672KB)
├ 测试数据 02:答案正确... (14ms, 672KB)
├ 测试数据 03:答案正确... (12ms, 672KB)
├ 测试数据 04:答案正确... (31ms, 672KB)
├ 测试数据 05:答案正确... (13ms, 672KB)
├ 测试数据 06:答案正确... (0ms, 672KB)
├ 测试数据 07:答案正确... (0ms, 672KB)
├ 测试数据 08:答案正确... (15ms, 672KB)
├ 测试数据 09:答案正确... (0ms, 672KB)
├ 测试数据 10:答案正确... (0ms, 672KB)---|---|---|---|---|---|---|---|-
Accepted / 100 / 101ms / 672KB
农夫山泉有点甜
第二个AC -
-1@ 2017-03-15 17:03:24
var a,b,t,i,s:longint;
begin
read(a,b);
for i:=a to b do
begin
t:=i;
while t>0 do
begin
if t mod 10=2 then inc(s);
t:=t div 10;
end;
end;
write(s);
end. -
-1@ 2016-12-19 20:20:28
一组要把数组开大。。。。开10000一直过不了。。。。因为数组10000的值是你输入的第二值的值。。。。所以一定多开一个
```c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int m,n;
int i,j;
int k;
int sh[10001]= {0};
for(i=1; i < 10000; i++)
{
j=i;
k=0;
while(j != 0)
{
if(j%10 == 2)
{
if(k == 0){sh[i]=1;k = 1;}
else sh[i]++;
}
j /= 10;
}
// printf("i = %d sh[i] = %d\n",i,sh[i]);
}
scanf("%d%d",&m,&n);
int sum=0;
// printf("%d",sh[10000]);
for(i=m; i <= n; i++)
{
if(sh[i] > 0) sum += sh[i];
}
printf("%d\n",sum);return 0;
}