zyy2404 2017-10-24 13:58 采纳率: 0%
浏览 939

求问:写OJ,使用java和C++的问题

今天写了人生第一道OJ题目:
给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。

自己写的第一个解决方案(很天真):

import java.util.*;
public class show
{
public static void main(String args[])
{
Scanner input=new Scanner(System.in);
int N;
int number=0;
//System.out.println("请输入N:");
N=input.nextInt();
for(int i=1;i<=N;i++)
{
if(i % 2!=0)
{
if(i % 3 !=0)
{
if(i % 5!=0)
{
if(i % 7 !=0)
{
number++;
}
}
}
}
}
System.out.println(number);
}
}

很明显不能通过!

所以上网copy了一段成功运行的代码:

#include

#include

#include

#include

#include

#include

#pragma warning(disable:4996)

using namespace std;

long long n,num,a,b,c,d,ab,ac,ad,bc,bd,cd,abc,abd,bcd,acd,abcd;

int main()

{

cin>>n;

num=0;  

a=n/2;  
b=n/3;  
c=n/5;  
d=n/7;  

ab=n/6;  
ac=n/10;  
ad=n/14;  
bc=n/15;  
bd=n/21;  
cd=n/35;  

abc=n/30;  
abd=n/42;  
acd=n/70;  
bcd=n/105;  

abcd=n/210;  

num=a+b+c+d-ab-ac-ad-bc-bd-cd+abc+abd+acd+bcd-abcd;  

cout<<n-num<<endl;  
return 0;  

}

这一次成功运行了。

于是自己又去学了下容斥原理,写出以下的java代码(这个是更改后和c++的代码很像):

import java.util.*;
public class show
{
public static void main(String args[])
{
Scanner input=new Scanner(System.in);
long N;
long a,b,c,d,ab,ac,ad,bc,bd,cd,abc,abd,acd,bcd,abcd;
long sum=0;
//System.out.println("请输入N:");
N=input.nextInt();
//sum=(N/a)+(N/b)+(N/c)+(N/d)-(N/a/b)-(N/a/c)-(N/a/d)-(N/b/c)-(N/b/d)-(N/c/d)+(N/a/b/c)+(N/a/b/d)+(N/a/c/d)+(N/b/c/d)-(N/a/b/c/d);
a=N/2;
b=N/3;
c=N/5;
d=N/7;
ab=N/6;
ac=N/10;
ad=N/14;
bc=N/15;
bd=N/21;
cd=N/35;
abc=N/30;
abd=N/42;
acd=N/70;
bcd=N/105;
abcd=N/210;
sum=a+b+c+d-ab-ac-ad-bc-bd-cd+abc+abd+acd+bcd-abcd;
System.out.print(N-sum);
}
}

结果不能运行,求问问题出在哪里,跟AC的C++代码很接近,是因为java的问题么,如果是,应该怎么解决?自此求问各位大神。

  • 写回答

1条回答 默认 最新

  • 游坦之 全栈领域优质创作者 2022-09-08 18:10
    关注

    我可以运行,不过我觉得可能是名字的问题,因为show貌似是一个方法,你可以改一个普通的名字,或者改成show01这样试试。如果有用记得采纳啊!

    评论

报告相同问题?

悬赏问题

  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏