这道题目的话是要乘完之后取整的,也就是向下取整,且要开全局数组,全局数组数据默认为0,改的话在乘的时候加int(),和数组是否开灯if_is_on在int main(void)外写这行代码
by Wyf32627 @ 2024-02-08 15:22:29
感谢! 是改成这样吗
```c
#include<stdio.h>
#include<stdbool.h>
bool if_is_on[200000];
int main(void){
float a;
int t,n,i,j;
long long number;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%f %d",&a,&t);
for(j=1;j<=t;j++){
number=(int)(j*a);
if(if_is_on[number]==0)
if_is_on[number]=1;
else if_is_on[number]=0;
}
}
for(i=0;;i++)
if(if_is_on[i]==1){
printf("%d",i);
break;
}
return 0;
}
```
by momo36524 @ 2024-02-10 11:33:40
```
#include<bits/stdc++.h>
using namespace std;
int d[20000001],n;
double a,b;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b;
for(double j=1;j<=b;j++)
{
if( d [ int (j * a) ] == 0) d [ int (j * a) ] = 1;
else d [ int (j * a) ] = 0;
}
}
for(int i=1; ;i++)
{
if(d[i]==1)
{
cout<<i;
break;
}
}
return 0;
}
```
by lunxiaotong0118 @ 2024-02-18 09:40:35