#include<stdio.h>
int main(void)
{
int n//读入一个数,为结束的次数
int i
int a[10]//10个硬币
int biaoji = 0//当这个标记能被3或7整除,说明恰好数了3次或7次
scanf("%d", &n)
for (i = 0i <10i++) //将硬币都初始化为正面的状态,即1
a[i] = 1
biaoji = 1//因为a[]的下标不允许桐态岁超过9,故要重置
a[biaoji - 1] = !a[biaoji - 1]//改变硬币的状态
for (i = 0i <10i++)
printf("%d", a[i])
return 0
}
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按闭雀照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接 *** 作,因此既能够用于局睁开发系统程序,也可用于开发应用软件。
这题显然在线不可做,神运孝我们考虑离线,将所有 *** 作保悄掘存下来,并且差分,把一次[l,r]取反变成两次[0,l-1]和[0,r]取反,记录在数组里,因为取两次反和不取反是一样的,且取反先后顺序没有影响,这样我们从0开始往后扫,扫到一个端点时,如果它之后(包括它自己)有偶数次 *** 作,continue,否则将它游稿和上一端点之间的位置取反。每个位置只会被取反一次所以是O(n)的欢迎分享,转载请注明来源:内存溢出
评论列表(0条)