#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
//通过看图可知,图示对称的,而且在对角线一侧,是斜率小于一的,每次看看有多少斜率小于一的,乘二,然后,斜率为一的有一条,斜率为0的有两条,
int ma
{
int num[1009];
for(int i=0; i<=1000; i++)
num[i]=i;
for(int i=2; i<=1000; i++)
if(num[i]==i)
for(int j=i; j<=1000; j+=i)
{
num[j]=num[j]/i*(i-1);
}
int T;
scanf("%d",&T);
for(int i=1;i<=T;i++)
{
int sizen;
int coun=0;
scanf("%d",&sizen);
for(int j=1;j<=sizen;j++)
coun+=2*num[j];
printf("%d %d %d\n",i,sizen,coun+1);//在这里我把斜率为1的算了两遍。
}
return 0;
}
本文介绍了一个使用C++实现的程序,该程序利用素数分解的方法来计算特定数值下不同斜率的数量,通过对每个数值进行分解,统计其因数数量,以此推算出特定条件下斜率的数量。
3万+

被折叠的 条评论
为什么被折叠?



