poj-2478 Farey Sequence(dp,歐拉函數)

題目鏈接:

Farey Sequence

Time Limit:?1000MS?Memory Limit:?65536K
Total Submissions:?14230?Accepted:?5624

Description

The Farey Sequence Fn for any integer n with n >= 2 is the set of irreducible rational numbers a/b with 0 < a < b <= n and gcd(a,b) = 1 arranged in increasing order. The first few are?
F2 = {1/2}?
F3 = {1/3, 1/2, 2/3}?
F4 = {1/4, 1/3, 1/2, 2/3, 3/4}?
F5 = {1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5}?

You task is to calculate the number of terms in the Farey sequence Fn.

Input

There are several test cases. Each test case has only one line, which contains a positive integer n (2 <= n <= 106). There are no blank lines between cases. A line with a single 0 terminates the input.

Output

For each test case, you should output one line, which contains N(n) ---- the number of terms in the Farey sequence Fn.?

Sample Input

2
3
4
5
0

Sample Output

1
3
5
9
題意:問滿足a/b with 0 < a < b <= n and gcd(a,b) = 1,的數對有多少個;
思路:dp[i]=dp[i-1]+n的歐拉函數;
AC代碼:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=1e6+2;
long long dp[N],a[N];
int get_a()
{memset(a,0,sizeof(a));for(int i=2;i<N;i++){if(!a[i]){for(int j=i;j<N;j+=i){if(!a[j])a[j]=j;a[j]=a[j]/i*(i-1);}}}}
int fun()
{get_a();dp[1]=0;dp[2]=1;for(int i=3;i<N;i++){dp[i]=dp[i-1]+a[i];}
}
int main()
{int n;fun();while(1){scanf("%d",&n);if(!n)break;cout<<dp[n]<<"\n";}return 0;
}

?

轉載于:https://www.cnblogs.com/zhangchengc919/p/5272085.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373456.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373456.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373456.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Twitter4j和Esper:在Twitter上跟蹤用戶情緒

對于復雜事件處理和Twitter API的新手&#xff0c;我希望這是一個簡短的教程&#xff0c;可以幫助他們Swift起步。 管理大數據并從中挖掘有用的信息是當前技術中最熱門的討論主題。 來自Twitter&#xff0c;Facebook和Linkedin等社交網絡的半結構化數據的爆炸式增長使Hadoop&am…

webase crud查看所有表_Laravel-Gii 可視化代碼生成工具 CRUD +GUI

Laravel-Gii 可視化代碼生成工具 CRUD GUI適用于快速B端后臺開發&#xff0c;根據MySQL的表結構生成對應的Model、Observer、Controller、View、Route等相關項目文件[TOC]注意因為是解析MySQL的表結構&#xff0c;并且根據字段生成模板&#xff0c;所以目前生成的Model類時只支…

20145231第二周Java學習筆記

20145231 《Java程序設計》第2周學習總結 教材學習內容總結 本周的學習采用的依然是先看課本&#xff0c;再看視頻&#xff0c;然后實踐敲代碼&#xff0c;最后根據學習筆記總結完成博客。 第三章&#xff1a;基礎語法 知識點比較多比較零碎&#xff0c;整理的都是實際操作中可…

JavaFX 2.0和Scala,像牛奶和餅干

JavaFX 2.0和Scala都是很好的技術&#xff0c;但是一起使用時效果會更好。 JavaFX 2.0是一種功能強大的富客戶端技術&#xff0c;具有先進的圖形&#xff0c;動畫和媒體功能。 Scala是一種簡單但功能強大的語言&#xff0c;具有用于編寫特定于域的語言&#xff08;DSL&#xff…

ASP.NET WebAPi之斷點續傳下載(上)

前言 之前一直感覺斷點續傳比較神秘&#xff0c;于是想去一探究竟&#xff0c;不知從何入手&#xff0c;以為就寫寫邏輯就行&#xff0c;結果搜索一番&#xff0c;還得了解相關http協議知識&#xff0c;又花了許久功夫去看http協議中有關斷點續傳知識&#xff0c;有時候發覺東西…

貪吃蛇(C++實現,VC6.0編譯,使用了EasyX圖形庫)

程序效果&#xff1a; 代碼&#xff1a; //main.cpp 1 #include <iostream>2 #include<fstream>3 #include <graphics.h>4 #include <conio.h>5 #include<ctime>6 #include<windows.h>7 #include<mmsystem.h>8 #pragma comment(lib…

3.0 C++遠征:is a

4-4is_a 0.派生類Soldier繼承自基類Person //Person.h class Person { public:Person(string name "Jim");~Person();void play(); protected:string m_strName; };//Soldier.h class Soldier : public Person { public:Soldier(string name "James", in…

python中sorted的用法append_python sorted()排序詳解

排序&#xff0c;在編程中經常遇到的算法&#xff0c;我也在幾篇文章中介紹了一些關于排序的算法。有的高級語言內置了一些排序函數。本文講述Python在這方面的工作。供使用內置函數sorted()/list.sort()的使用簡單應用python對list有一個內置函數&#xff1a;>>> a[5…

云上的播放框架變得簡單:Openshift模塊

僅僅幾年前&#xff0c;找到一個負擔得起的Java Web應用程序托管解決方案是一項艱巨的任務&#xff0c;而尋找免費的托管解決方案是一項不可能的任務。 更不用說甚至考慮自動縮放&#xff0c;單命令部署&#xff0c;持續集成等事情&#xff0c;這都是科幻小說。 去年見證了云計…

C#中的yield return與Unity中的Coroutine(協程)(下)

Unity中的Coroutine&#xff08;協程&#xff09; 估計熟悉Unity的人看過或者用過StartCoroutine() 假設我們在場景中有一個UGUI組件&#xff0c; Image&#xff1a; 將以下代碼綁定到Image 1 using UnityEngine;2 using System.Collections;3 using System.Threading;4 using …

字節流轉化為文件流_C#文件轉換為字節流及字節流轉換為文件

本文講解了C#實現文件轉換為字節流的方法。文件轉換為字節流的步驟如下1、通過文件流打開指定文件(FileStream fs)&#xff1b;2、定義字節流(byte[] fileBytenew byte[fs.Length])&#xff1b;3、把文件讀取到字節流(fs.Read(fileByte,0,fileByte.Length))&#xff1b;4、關閉…

Spring和JSF集成:導航

我希望這是有關我在Spring和JavaServer Faces之間提供深度集成的努力的一系列博客中的第一篇。 這里提到的所有內容都是“正在進行中的工作”&#xff0c;因此&#xff0c;如果您簽出代碼&#xff0c;請注意它是一個不斷變化的目標。 期待一些粗糙的邊緣&#xff0c;如果有時會…

【CSS3動畫】transform對文字及圖片的旋轉、縮放、傾斜和移動

前言&#xff1a;之前我有寫過CSS3的transform這一這特性&#xff0c;對于它的用法&#xff0c;還不是很透徹&#xff0c;今天補充補充&#xff0c;呵呵 你懂的&#xff0c;小司機準備開車了。 a)再提一提transform的四個屬性 ①旋轉--->rotate(參數a)&#xff0c;單位deg&a…

宏的用法與簡介

預處理指令&#xff1a;例如&#xff1a;#include<stdio.h> #include<stdlib.h> #define MAX 20 ............. 因為他們由預處理器解釋的&#xff0c;所以稱作預處理指令。預處理器讀取源代碼&#xff0c;然后對其修改&#xff0c;并把修改過的…

django 日志寫入mysql_如何將django orm模型 寫入數據庫

1、指定連接pymysql(python3.x)先配置_init_.pyimport pymysqlpymysql.install_as_MySQLdb()2、配置連接mysql文件信息settings.pyDATABASES {default: {ENGINE: django.db.backends.mysql,NAME: django_orm, #你的數據庫名稱USER: root, #你的數據庫用戶名PASSWORD: , #你的數…

ORM的問題第2部分–查詢

在我以前關于對象關系映射工具&#xff08;ORM&#xff09;的帖子中&#xff0c;我討論了在處理當今常見的ORM&#xff08;包括Hibernate&#xff09;時遇到的各種問題。 其中包括與從POJO生成架構有關的問題&#xff0c;實際性能和不斷出現的維護問題。 本質上&#xff0c;結論…

【轉】如何減少接口響應時間

Premature optimization is the root of all evil. — Donald Knuth 對于程序優化&#xff0c;我一直采取保守的態度&#xff0c;除非萬不得已。但是隨著業務的不斷發展&#xff0c;程序越來越復雜&#xff0c;代碼越寫越多&#xff0c;優化似乎是終有一天會到來的事情。 那么對…

數據庫行轉列在現實需求中的用法

select t.客戶姓名,sum(case when t.收款類型首款 then t.金額 else 0 end as 首款),sum(case when t.收款類型尾款 then t.金額 else 0 end as 尾款) from table t group by t.客戶姓名 這段sql的意思 是 查詢出所有客戶收款信息 然后按客戶分組 分組后 然后將這個客戶的所…

mysql生產環境加索引_【生產篇】_MySQL環境下如何查看基于表的索引定義

【引言】今天中午項目組來一需求&#xff0c;欲在MySQL環境的某張表下創建幾個BTREE索引。要創建索引&#xff0c;首先需要了解基表的表結構&#xff0c;以及已經包含的索引。Oracle的表結構大家都很熟悉&#xff0c;但MySQL表結構和已創建索引的查看怎么操作&#xff0c;本文將…

Hadoop模式介紹-獨立,偽分布式,分布式

了解了什么是Hadoop之后&#xff0c;讓我們在單機上啟動Hadoop&#xff1a; 這篇文章包含在ubuntu上安裝Hadoop的說明。 這是Hadoop安裝的快速分步教程。 在這里&#xff0c;您將獲得以獨立模式 &#xff08;單節點集群&#xff09;安裝Hadoop所需的所有命令及其說明&#xff0…