NYoj 416 数论的一个小知识
2011-09-26 10:59
225 查看
话说这道题是昨天月赛的题目,是一个简单的数论题。可悲的是,当时竟然不知道这个结论,比赛过后,才知道这道题有多么的水。昨天的比赛,那就是一个悲剧。剩下一个半小时左右,连一次也没提交。。。。。。。悲催。。。。
题目:
Ten mathematicians are flying on a balloon over the Pacific ocean. When they are crossing the equator they decide to celebrate this event and open a bottle of champagne.
Unfortunately, the cork makes a hole in the balloon. Hydrogen is leaking out and the balloon is descending now. Soon it will fall into the ocean and all the balloonists will be eaten by hungry sharks.
But not everything is lost yet. One of the balloonists can sacrifice himself jumping out, so that his friends would live a little longer. Only one problem still exists ¾ who is the one to get out. There is a fair way
to solve this problem. First, each of them writes an integer ai not less than 1 and not more than 10000. Then they calculate the magic number N that is the number of positive integer divisors of the product a1*a2*...*a10.
For example, the number of positive integer divisors of 6 is 4 (they are 1,2,3,6). The hero (a mathematician who will be thrown out) is determined according to the last digit of N. Your task is to find this digit.
输入 The first line of input contains a number c(0<c<=1000) giving the number of cases that follow. each case contains ten numbers separated by a space.
输出 Output each case of a single digit from 0 to 9 - the last digit of N 样例输入
样例输出
ac代码:
题目:
Ten mathematicians are flying on a balloon over the Pacific ocean. When they are crossing the equator they decide to celebrate this event and open a bottle of champagne.
Unfortunately, the cork makes a hole in the balloon. Hydrogen is leaking out and the balloon is descending now. Soon it will fall into the ocean and all the balloonists will be eaten by hungry sharks.
But not everything is lost yet. One of the balloonists can sacrifice himself jumping out, so that his friends would live a little longer. Only one problem still exists ¾ who is the one to get out. There is a fair way
to solve this problem. First, each of them writes an integer ai not less than 1 and not more than 10000. Then they calculate the magic number N that is the number of positive integer divisors of the product a1*a2*...*a10.
For example, the number of positive integer divisors of 6 is 4 (they are 1,2,3,6). The hero (a mathematician who will be thrown out) is determined according to the last digit of N. Your task is to find this digit.
输入 The first line of input contains a number c(0<c<=1000) giving the number of cases that follow. each case contains ten numbers separated by a space.
输出 Output each case of a single digit from 0 to 9 - the last digit of N 样例输入
1 1 2 6 1 3 1 1 1 1 1
样例输出
9
ac代码:
#include <iostream> #include <cmath> #include <cstdio> #include <string.h> using namespace std; int aa[1500]; int kk; bool isprime(int n){ for(int j=2;j<=sqrt(n);++j){ if(n%j==0) return false; } return true; } void prime(){ kk=0; for(int i=2;i<=10000;++i){ if(isprime(i)){ aa[kk++]=i; } } //cout<<kk<<" "<<aa[kk-1]<<endl; } int main(){ prime(); int count; scanf("%d",&count); while(count--){ int n=10,x; int sum[10000]; memset(sum,0,sizeof(sum)); while(n--){ scanf("%d",&x); for(int j=0;j<kk;++j){ if(x%aa[j]==0){ while(x%aa[j]==0){ x/=aa[j]; sum[j]++; } } } } int num=1; for(int i=0;i<10000;++i){ if(sum[i]){ //printf("%d\n",sum[i]); num=(num%10)*((sum[i]+1)%10)%10; } } printf("%d\n",num); } return 0; }
相关文章推荐
- NYoj 416 数论的一个小知识
- 数论知识总结——史诗大作(这是一个flag)
- 数论——nyoj_330, xyoj1984一个简单的数学题
- nyoj-330-一个简单的数学题
- 通过一个用户管理实例学习路由react-router-dom知识
- 想要亲手实现一个刷新控件,你只需要掌握这些知识
- NYOJ-520 最大素因子【数论】
- 一个就简单的数学题 NYOJ 330
- 【Unity知识搬运】将一个表达式转换为逆波兰式的具体算法思想
- PHP的一个基础知识 表单提交
- Berkeley DB(一) -- 入门知识和一个小例子
- 掌握这些知识,你的认知将提升一个档次
- 弄一个ajax笔记方便查询-基础知识篇
- 推荐一个数学网站---数学知识
- 一个敏捷开发的知识站点
- 关于上一个sql优化测试的部分知识
- hduoj1021,Fibonacci Again,数论水题,利用同余式相关知识很容易解决
- ACM_数论_阶乘N!的末尾有几个零 和 末尾有多少个 1 nyoj 954
- 在WinForm/C#中打开一个文件,主要是用到进程的知识。
- 每天一个shell知识--数组