阅读398 返回首页    go 阿里云 go 技术社区[云栖]


poj 2498 StuPId

之前做过一道类似的题目,有一道。。。这题其实还好,不是那么阴。。。

至少题目里面有打(!)提醒。。。


#include <stdio.h>
#include <string.h>

char Num[10];
int factors[]={9,3,7};

void process()
{
	int missPos; //保存丢失了哪一位
	int i;
	int sum=0;
	int numInt;
	for(i=strlen(Num)-1;i>=0;i--)
	{
		if(Num[i]=='?')
			missPos=i;

		else
		{
			numInt=Num[i]-48;

			sum+=numInt*(factors[(strlen(Num)-1-i)%3]);
		}
	}

	//printf("sum == %d\n",sum);

	for(i=0;i<10;i++)
		if((sum+i*(factors[(strlen(Num)-1-missPos)%3]))%10==0)
		{
			Num[missPos]=i+48;
			break;
		}

	//sum+=i*(factors[(strlen(Num)-1-missPos)%3]);
	//printf("sum == %d\n",sum);
	
	printf("%s\n\n",Num);
}

int main()
{
	int n;
	scanf("%d",&n);

	int count=n;
	int i;
	while(count--)
	{
		scanf("%s",Num);

		printf("Scenario #%d:\n",n-count);

		process();
	}

	return 0;
}




最后更新:2017-04-03 05:40:00

  上一篇:go SQL存在一个表而不在另一个表中的数据
  下一篇:go js中的函数function