能被3整除,但又不含有数字3的四位数有多少个。 根据答案9,一共有1969个
展开全部
1000至9999共9000个四位数,能被3整除的数共9000/3=3000个;
要减去有3的:
个位为3时,1003--9993中能被3整除的数共300个;
十位为3时,1030--9939中能被3整除的数共300个;
百位为3时,1300--9300中能被3整除的数共300个;
千位为3时,3000--3999中能被3整除的数共300个;
其中有被减重复了的:
被减两次包含两个3的:30*C(4,2)=30*6=180个,要再加上;
包含三个3的又被多加了:C(4,3)*3=12个,要再减去;
包含四个3的又多减了:1个,要再加上;
总之,共3000-300*4+180-12+1=1969个。
要减去有3的:
个位为3时,1003--9993中能被3整除的数共300个;
十位为3时,1030--9939中能被3整除的数共300个;
百位为3时,1300--9300中能被3整除的数共300个;
千位为3时,3000--3999中能被3整除的数共300个;
其中有被减重复了的:
被减两次包含两个3的:30*C(4,2)=30*6=180个,要再加上;
包含三个3的又被多加了:C(4,3)*3=12个,要再减去;
包含四个3的又多减了:1个,要再加上;
总之,共3000-300*4+180-12+1=1969个。
展开全部
1000到9999共有9000个数,因为每三个相连的数中就有一个能被3整除的(等同每三个有一个能被3整除),所以9000个里有3000个能被三整除的。
个位数、十位数和百位数是3的,那等同其他三个数字也就是100至999中能被3整除的有300个(原因和上边相同),共计900个;
千位数是3,那其他三个数字也就是000到999中能被3整除的共计333个。。。。
然后在排除被重复计算的部分就能得出答案了。
个位数、十位数和百位数是3的,那等同其他三个数字也就是100至999中能被3整除的有300个(原因和上边相同),共计900个;
千位数是3,那其他三个数字也就是000到999中能被3整除的共计333个。。。。
然后在排除被重复计算的部分就能得出答案了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System;
namespace test
{
class Program
{
static void Main(string[] args)
{
int n = 0;
for (int i = 1000; i < 10000; i++)
{
if (i % 3 == 0 && !i.ToString().Contains("3"))
Console.WriteLine(string.Format("满足要求的第{0}个数是{1}", ++n, i));
}
}
}
}
输出结果:
满足要求的第1个数是1002
满足要求的第2个数是1005
满足要求的第3个数是1008
......
满足要求的第1942个数是9990
满足要求的第1943个数是9996
满足要求的第1944个数是9999
namespace test
{
class Program
{
static void Main(string[] args)
{
int n = 0;
for (int i = 1000; i < 10000; i++)
{
if (i % 3 == 0 && !i.ToString().Contains("3"))
Console.WriteLine(string.Format("满足要求的第{0}个数是{1}", ++n, i));
}
}
}
}
输出结果:
满足要求的第1个数是1002
满足要求的第2个数是1005
满足要求的第3个数是1008
......
满足要求的第1942个数是9990
满足要求的第1943个数是9996
满足要求的第1944个数是9999
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int main() {
int j = 0;
int count;
for(int i = 1000; i < 10000; i++) {
if(i%3==0) {
int s[4];
s[0]=i/1000;
s[1]=i%1000/100;
s[2]=i%1000%100/10;
s[3]=i%1000%100%10;
for(int h = 0; h < 4; h++) {
if(s[h]==3){
cout<<i<<" ";
count++;
break;
}
}
}
}
cout<<3000-count;
return 0;
}
答案1944
using namespace std;
int main() {
int j = 0;
int count;
for(int i = 1000; i < 10000; i++) {
if(i%3==0) {
int s[4];
s[0]=i/1000;
s[1]=i%1000/100;
s[2]=i%1000%100/10;
s[3]=i%1000%100%10;
for(int h = 0; h < 4; h++) {
if(s[h]==3){
cout<<i<<" ";
count++;
break;
}
}
}
}
cout<<3000-count;
return 0;
}
答案1944
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询